折腾来折腾去

pikipity的blog

用Octopress 和 Github 建立自己的 Blog

这个 Blog 就是在使用 Octopress 和 Github 建立起来的。基本思路如下,首先用 Markdown 语言迅速成文,然后由 Octopress 生成站点文件并上传到 Github,利用 Github 的 Pages 功能,就可以直接通过访问 Github 提供的二级域名访问到你的站点了。

为什么用 Octopress

有很多人看到就会吐槽了,为什么不用 WordPress 呢?那么下面就做一下 Octopress 和 WordPress 的对比好了。

|————+———+———| | |Octopress|WordPress| |:———-:|:——-:|:——-:|
|使用的脚本语言|Ruby |PHP | |生成网页 |静态网页 |动态网页 | |外挂、主题数量|少 |多 | |速度 |快 |慢 | |易用性 |起点比较高|简单 |

其实准确的说 Octopress 并不是只能生成静态网页,但是这里介绍的是 Octopress 和 Github 联合使用,由于 Github 并不是一个服务器代理商,Pages本身只是为简单的项目主页准备的,所以没有数据库,每次打开网页都是一个新生成的过程,所以只能支持静态网页。

从上面的表格就可以看出两者各有优缺点,我选择 Octopress 的原因很简单:

  1. 需要折腾
  2. 可改动性大
  3. markdown 语法直接成文,舒服

但是由于 Octopress 本身刚起步,国内教程、论坛都少的可怜,所以大部分的学习只能去看外国的网站,或是直接去 Github 上拉别人的网页来研究。下面就是如何在自己的电脑上安装 Octopress 和利用 Github 来搭建 Blog 了。下面的安装和使用都以 Mac OS X 10.8 为基础,我想 Linux 应该也是差不多的,Windows 应该比较麻烦,请看这里

前期准备

首先你要具备一点 *nix 命令行的知识和 html 语言的知识。下面提供三个网址可以先看一下:

接下来就要做一些 Octopress 安装前的准备工作了。由于 Octopress 需要 Ruby 1.9.2,运行

$ ruby -v

检查一下版本号是否正确,如果正确,就可以直接安装 Octopress 了,如果版本不对就还是按照下面的步骤走一遍吧。

  1. 安装 GCC。如果已经安装了 Xcode,就可以不必安装了,由于后面的安装会需要源文件编译,所以需要安装 GCC 来提供支持,可以到这里下载对应版本的 GCC 来安装
  2. 安装 Homebrew,Homebrew 是 Mac 上的一个包管理器,后面为了方便,将直接用 Homebrew 来完成 Git 安装。运行下面指令来安装

     $ ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
    

    Homebrew 如何使用可以直接到这里来看,安装那些 Mac 本身没有的包还是很方便的。

  3. 安装 Git。运行下面命令来安装

     $ brew install git
    
  4. 安装 RVM,RVM 是 Ruby 的一个版本管理器,为了方便安装,可以直接到这里下载 具有 GUI 的版本,这个的安装过程就和 Mac 上的其他软件没有什么不同了。

  5. 安装 Ruby 1.9.2,绕了一大圈,终于到重点了。运行下面的两条命令安装 $ rvm install 1.9.2 $ rvm 1.9.2 –default

安装 Octopress

主角登场。

先在终端移动到你准备存放 Octopress 的地方,用下面的命令

$ cd 你的路径

然后直接用 Git 将 Octopress 从 Github 上拖下来就可以了,用下面的命令

$ git clone git://github.com/jsw0528/octopress.git

OK,在你当前路径下应该会多出一个叫 octopress 的文件夹,里面的就是 octopress 的程序了,这就叫做轻量。

还需要安装一些基本的套件,否则生成的东西实在没法看,运行下面命令安装相关套件

$ cd octopress
$ bundle install

然后就是安装主题了,这里可以有三种选择(支线剧情 Flag,+_+):

  1. 使用预设主题,预设主题本身其实已经挺不错了,但是万千世界千篇一律就没意思了,可以将默认主题做模板来修改出自己的主题,用下面的命令安装预设主题

     $ rake install
    
  2. 直接使用别人的主题或是在别人的主题上稍作修改,这里推荐两款

    • 极简风格的 Slash,大家可以到其主页看效果,其实这个 Blog 的主题就是在 Slash 上修改出来的,安装使用下面命令:

         $ git clone git://github.com/tommy351/Octopress-Theme-Slash.git .themes/slash
         $ rake install['slash']
      
    • eDoctor 开发的主题,大家可以来 MrZhang.me 来看效果,主题名就叫 “blog",安装方法如下

        $ git submodule init
        $ git submodule update
        $ rake install['blog']
      
    • 如果你觉得别人的主题都太烂了,Come on,自己做一个吧

安装完主题,Octopress 就算是安装完了,不要松懈,一切才刚刚开始

连接 Github 账号

  1. 这里注册一个 Github 账户,创建一个新的 Repository,名称为 你的帐号.github.com

  2. 修改 Octopress 安装目录下的 source/CNAME

    • 如果你要使用自己的域名,就将source/CNAME修改成你自己的域名,然后将域名的 A Record 指向 IP:207.97.227.245就可以了
    • 如果直接使用 Github 提供的二级域名,就直接删除 source/CNAME 文件
  3. 运行下面命令

     $ rake setup_github_pages
    

    会提示输入有读写权限的 Repository url,可以在你刚才新建的 Repository 里面找到,具体位置见图片

    Repository_url 在这里

配置 Octopress

一般只需要配置两个文件就可以了

  1. 配置 _config.yml:这个文件在你的安装目录下面,里面是你 Blog 的一些基本配置,比如名字、创建时间等等,懂英文的一般都懂了一条条是什么意思,需要注意的是冒号后面的一个空格不要漏掉,这里是我的 _config.yml,大家可以参考参考。
  2. 配置 Rakefile:这是软件的配置,不明白是什么就不要乱动了,有时候当你写 post 的时候会发现自动生成的文件格式不适合你,你可以修改 Rakefilenew_post_ext 对应的内容。

至此,Octopress 就算是安装配置完了,你可以用它来生成博文并发布了。Octopress 的命令可以用下面的方法查询

$ rake -T

命令不多,真正常用的就几个,下面列出来:

  • rake generate:生成站点
  • rake deploy:发布站点
  • rake gen_deploy:上面两条命令的结合
  • rake new_post[title]:在 source/_posts 中生成一个新的 post
  • rake new_page[filename]:在 source/(filename)/index.markdown 中生成一个新页面
  • rake preview:预览站点,默认在浏览器打开 localhost:4000 就可以预览


Comments