Octopress的搭建与撰写

Octopress

维护自己的日志是一个很有意思的活动,我第一次接触个人独立Blog是在高三的的下学期,因为大学有了着落,借此机会抛弃掉以前的什么XX空间,就把Blog搬到了 WordPress 上,还为此买了虚拟主机和域名(对于个人网站来说备案真是一件既麻烦又浪费时间的事儿)。但是呢,移植完文章后的很长一段时间都没有好好更新,域名到期后就关闭掉那个旧的Blog了。

所以这个 Octopress 是时隔很长时间的第二个个人独立Blog,不同的是这个press只能Geek用,一般用户不会用。第二点,我没有买虚拟主机只买了域名,整个Blog托管在 Github 上。此前,我用 Wordpress 最大的感触就是臃肿,其Bug一样的富文本编辑器弄得我的格式混乱不堪,不过最为重要的是使用 Wordpress 不够酷炫,不能令我一直心动。

而且我没有那么多功能需要使用。Blog无非就是放上一篇有文有图的文章,加上个评论,足矣。

A blogging framework for hackers.

这是 Octopress 自己的宣传,我觉得真正的Hacker会自己弄一个Blog,起码会用 Jekyll 甚至是 Hakyll (原理大同小异),那么我们这些使用 Octopress 的用户算是初级的Geek这种程度吧。不说这些了,轻量的Blog用起来确实比 Wordpress 酷炫多了。接下来我会一步一步说明如何在MAC OS X中搭建这个日志系统:

第一步是最重要的一步:我们要弄清楚octopress的运行环境是在 ruby -1.9.2以上的版本中,但是在OS X 10.9中已经安装了2.0版本,亲自实验,如果使用过高的版本会产生无法正确生成静态页面的问题。我们要安装一个低版本,这里推荐1.9.3,然后我们说明如何多版本共存:

先安装Ruby-1.9.3

1.安装 Xcode ,这是为了以后安装需要编译。

2.安装 Homebrew ,非常推荐这个包管理,以后我们就多多利用它了:

1
2
$ curl -L http://github.com/mxcl/homebrew/tarball/master | tar xz –strip 1 -C /usr/local
$ export PATH=/usr/local/bin:$PATH

3.安装 rvm ,这是一个很出色的 Ruby 包管理软件,同时安装1.9.3并设定为默认版本:

1
2
3
$ \curl -sSL https://get.rvm.io | bash -s stable
$ rvm install 1.9.3
$ rvm use 1.9.3 --default

好的,接下来是Octopress

1.一般情况下最新的 OS X 已经包含 Git ,我们直接安装 Octopress

1
$ git clone git://github.com/imathis/octopress.git octopress

2.安装 rbenv ,可以理解为同样是一种包管理:

1
2
3
$ brew install rbenv
$ brew install ruby-build
$ rbenv rehash

3.安装必要插件:

1
2
3
4
$ cd octopress
$ gem install bundler
$ bundle install
$ rbenv rehash

4.安装主题:

1
$ rake install

按照上面的步骤去做就全部安装完毕,接下来是如何生成与发布,但是再次之前,如果你的算把博客安置在 Github 上面,我们有必要的一步要做。

发布准备与部署

1.本机创建ssh:

1
2
$ cd ~/.ssh
$ ssh-keygen -t rsa -C 你注册github用的邮箱地址

按照提示一步一步来,最后获得ssh后把它添加到你的 github 账户中去,可以参考这个链接。

然后你需要测试是否成功:

1
$ ssh -T git@github.com

返回如下提示就成功了:

1
$ Hi username! You've successfully authenticated, but GitHub does not provide shell access.

2.建立一个仓库后我们开始部署,按照提示输入你的仓库网址:

1
$ rake setup_github_pages

3.生成博客资料:

1
$ rake generate

4.把source(原始文件)传上去:

1
2
3
$ git add .
$ git commit -m 'your message'
$ git push origin source

注意那个origin可以为你想起的任何名字。

5.上传正式发布的博客:

1
$ rake deploy

有可能会遇到上传不成功的情况,这个时候需要在项目的.git/config目录中添加如下代码,必要时可以重新启动系统(怎么有M$的遗风):

1
2
3
[branch "master"]
remote = origin
merge = refs/heads/master

好了,到此为止你就可以发布一个博客了,注意到,如果想要自定义自己的域名要在source/CNAME中添加你的一级域名,比如izhen.me,同时在你的域名服务商那里添加一条A记录,有关具体的地址内容请到 Octopress 中查看文档,遵守官方指示:不要使用CNAME记录。

文章撰写与分页

1.创建一篇新文章,默认在source/_posts中,以markdown格式存在:

1
$ rake new_post['your-title']

2.用文本编辑器,这里推荐 Mou 来打开新创建的文件,并且使用Markdown来撰写文章,其中有关于标签分类,这里说明下有以下几种格式:

1
2
3
4
5
6
7
8
9
# 分类形式1
categories: [Octopress, Phase, Markdown, Ruby, Git]
# 分类形式2
categories: Octopress, Phase, Markdown, Ruby, Git
# 分类形式3
categories:
- Octopress
- Phase
- Markdown

3.分页:

1
2
3
4
# 标准分页
$ rake new_page[your-page]
# 创建子分页
$ rake new_page[your-page/sub-page.html]

然后要让这个分页的链接显示在主页上面需要在source/_include/custom/navigation.html中自行添加链接。

要达到「详细内容」的效果,使用<!-- more -->标记就可以了。

总结

这里只是草草介绍了如何搭建和简单的写作,感觉很简洁,没有太多累赘,页面也是静态的,诸如评论等内容需要额外配置_config.yml。写文章使用Markdown这一点真是太好了, Wordpress 的富文本编辑器实在是…

不过,这里没有讲解如何具体写文章,但是也非常简单,可以参考文档去查阅相关资料,如果想要更进一步了解比如自定义博客主题,也请多多学习文档,推荐刚入门的朋友们来学习使用 Octopress