之前一直在用Wordpress博客框架来写博客,一直没换过。但最近发现很多开发朋友都在使用Octopress,据说是一个面向黑客和开发者的博客,所以也跟风用上了Octopress。几经折腾终于把以前Wordpress的内容搬到了Octopress。

为什么用Octopress?

Octopress同样也是一个开源的博客框架,它主要面向黑客和开发者。相比Wordpress,它具备以下优点。

  • 界面非常清晰简洁,更加突出内容而非风格。
  • 它是一个静态的网页框架,运行加载速度更快。
  • 使用Markdown语法来高效写文章,而无需关注一些杂乱的html格式
  • 可以免费部署到github page
  • 博客使用git进行版本控制

但Octopress也有一些局限和不足。

  • 安装过程繁琐,比较麻烦
  • 没有汉化(需要手动汉化)
  • 评论需要外部支持
  • 主题风格比较单一

但这些并不是黑客和开发者的困难,目前有很多社会化评论和分享系统,稍微修改一下代码就可以很不错的支持Octopress。

在Mac OS X下安装Octopress

Octopress需要ruby开发环境,需要ruby 1.9.3版本,虽然Mac OS X自带的ruby(10.8带ruby 1.8,1.9自带ruby 2.0),但自带的ruby是给系统使用的,并不适合安装Octopress。所以我们要手动安装ruby 1.9.3版本。这就要我们使用rbenv或rvm来管理ruby的多版本。开始时我尝试使用rvm来管理,安装ruby 1.9.3版时它却自动给我安装macport。而macport安装超慢,我就放弃而采用rbenv。下面来看看我的安装步骤。安装rbenv我使用了brew工具来快速安装。

1. 安装brew

下载并安装brew。在终端输入并执行以下命令稍等片刻就好了。

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

2. 安装rbenv

安装rbenv需要配置一些环境变量,然后使用brew来安装。具体命令如下。

1
2
3
4
5
6
7
cd
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
source ~/.bash_profile
brew update
brew install rbenv
brew install ruby-build

3. 安装ruby 1.9.3

接着用rbenv来安装ruby 1.9.3-p125版(这个版本开始支持llvm编译器)。

1
2
3

rbenv install 1.9.3-p125
rbenv rehash

4. 建立Octopress

从github上clone下来Octopress。

1
2
3

git clone git://github.com/imathis/octopress.git octopress
cd octopress

5. 将当前ruby版本设置为1.9.3

请确保当前目录是octopress目录,然后执行以下命令,将当前ruby版本设置为1.9.3

1
rbenv local 1.9.3-p125

查看当前本地ruby版本

1
rbenv local

如果显示为1.9.3-p125,那么就是正确的。

6. 安装依赖软件

运行以下命令安装必须的gem。

1
2
3
gem install bundler
rbenv rehash

bundle install

安装Octopress默认主题

1
rake install

7. 设置Github

Octopress本身生成的是静态网页,是可以发布到很多网站的,支持自动发布Github Page。首先要在Github上申请一个名为username.github.io的代码仓库(username请替换为你的用户名)。

然后运行以下命令:

1
rake setup_github_pages

输入必要的用户名密码信息就设置完成。

8. 预览和发布

你可以在本地生成网页并实时预览,执行以下命令:

1
2
rake generate
rake preview

这会打开本地的4000端口,你可以在浏览器打开url: http://localhost:4000/来预览Octopress网站了。

要发布到github上,执行以下命令即可。

1
2
rake generate
rake deploy

然后在浏览器中输入http://username.github.io就可以查看你的Octopress了。

写文章

执行以下命令可以生成一个简单的文章框架。

1
rake new_post[your-english-article-name]

其中your-english-article-name将会作为文章url地址的一部分,请使用英文单词或拼音连接起来的字符串。这就在source/_posts目录下一个同名的markdown文件,编辑这个文件即可。写完后执行步骤8中的相关命令就可以查看和发布了。

绑定域名

在soure文件夹下建立一个名字为CNAME文件,文件的内容是你的域名地址,如www.example.com。然后将你的域名的CNAME指向username.github.io