个人博客搭建

你的个人小天地

利用Octopress搭建一个Github博客博客

小引

Octopress是利用Jekyll博客引擎开发的一个博客系统,生成的静态页面能够很好的在github page上展现。号称是hacker专属的一个博客系统(A blogging framework for hackers.)

1、安装Ruby

Octopress需要Ruby环境,RVM(Ruby Version Manager)负责安装和管理Ruby的环境。所以我们先在终端输入如下命令,来安装RVM:

curl -L https://get.rvm.io | bash -s stable --ruby  

接着是安装Ruby 1.9.3,在终端依次运行如下命令:

rvm install 1.9.3  
rvm use 1.9.3  
rvm rubygems latest  

完成上面的操作之后,运行ruby --version应该可以看到ruby 1.9.3环境已经安装好了。

2、安装Octopress

在安装Octopress之前,请确保你的电脑上已经安装有git了,在终端输入git --version,应该可以看到电脑中的git版本(我电脑上输出:git version 1.7.12.4 (Apple Git-37)),如果没有显示相关内容,请先安装git。
git安装之后,利用git命令将octopress从github上clone到本机,如下命令:

git clone git://github.com/imathis/octopress.git octopress  
cd octopress    # If you use RVM, You'll be asked if you trust the .rvmrc file (say yes).  
ruby --version  # Should report Ruby 1.9.3  

接着安装相关依赖项:

gem install bundler  
rbenv rehash    # If you use rbenv, rehash to be able to run the bundle command  
bundle install  

最后安装默认的Octopress 主题。

rake install  

3、配置Octopress

Octopress的作者已经尽量让配置简化了。大多数情况下只需要配置_config.ymlRakefile文件即可。其中Rakefile是跟博客部署相关,一般情况下并不需要修改这个文件,除非使用了rsync
config.yml是博客重要的一个配置文件,在config.yml文件中有三大配置项:Main ConfigsJekyll & Plugins3rd Party Settings

4、将博客部署到GitHub上

Github的Page service可以免费托管博客,并且还可以自定义域名。
首先需要在GitHub上创建一个仓库,并将仓库名称按照这样的方式进行命名:username.github.ioorganization.github.io。等后面配置完毕之后,我们就可以在浏览器中使用页面地址http://username.github.io来访问我们的博客。一般来说,我们希望在将博客的源码放到source分支下,并把生成的内容提交到master分支。
创建好仓库之后,我们需要利用octopress的一个配置rake任务来自动配置上面创建的仓库:可以让我们方便的部署GitHub page。在终端输入如下命令:

$ rake setup_github_pages  

上面的命令会做一些事情。其中最主要的就是创建一个_deploy目录,目录用来存放部署到master分支的内容。期间会要求你输入仓库的url,根据提示,进行输入即可。
完成上面的命令之后,我们就可以生成博客并真正的部署到仓库中了。执行如下命令:

rake generate  
rake deploy  

上面的命令首先生成博客文件,并将生成的博客文件拷贝到_deploy/目录下,然后将这些内容添加到git中,并commitpush到仓库的master分支。
现在可以访问http://username.github.io了。注意:有时候可能会有延时,要等几分钟才能打开。
至此,我们的博客已经完成基本的部署,不过博客的source需要单独提交,执行如下命令就可以将source提交到仓库的source分支下。

$ git add .  
$ git commit -m 'Initial source commit'  
$ git push origin source  

如果在部署到仓库之前,需要先预览一下博客,可以在终端输入rake preview命令,然后就能在浏览器中进行本地预览访问了:http://127.0.0.1:4000/http://localhost:4000/,效果跟仓库中的一样。

5、开始写博客

Octopress为我们提供了一些task来创建博文和页面。博文必须存储在source/_posts目录下,并且需要按照Jekyll的命名规范对文章进行命名:YYYY-MM-DD-post-title.markdown。文章的名字会被当做url的一部分,而其中的日期用于对博文的区分和排序。
通过Octopress提供的task可以正确的按照命名规范创建一个博文,并且在博文中会附带常用的一些yaml元数据。只需要在终端输入如下命令:

rake new_post["title"]  

其中title为博文的文件名,创建出来的文件默认是markdown格式。上面的命令会创建出这样一个文件:source/_posts/2013-08-03-title.markdown。打开这个文件,可以看到里面有如下一些内容了(告诉Jekyll博客引擎如何处理博文和页面):

---  
layout: post  
title: "title"  
date: 2013-08-03 16:36  
comments: true  
categories:   
---  

接着我们就可以在这个文件中写我们的博文。完成之后,我们可以预览和部署博文。下面是创建并部署博文的一个完整过程:

$ rake new_post["New Post"]  
$ rake generate  
$ git add .  
$ git commit -am "Some comment here."   
$ git push origin source  
$ rake deploy