在网上搜索了一些资料后,搭建了现在的这个博客。兴奋之余,想跟大家分享下如何创建属于自己的博客的方法,所以写了这篇博文。(本篇博文主要参考了破船之家和唐巧的技术博客的两篇博文,大家可以多多关注下,本人是挺喜欢的这两个博客的。)
安装Ruby
Octopress需要Ruby环境,RVM(Ruby Version Manager)负责安装和管理Ruby的环境。
所以我们先在终端输入如下命令,来安装RVM:1
$ curl -L https://get.rvm.io | bash -s stable --ruby
接着是安装Ruby,在终端依次运行如下命令:1
2$ curl -L https://get.rvm.io | bash -s stable --ruby
$ rvm install
完成上面的操作之后,运行ruby --version
应该可以看到ruby的版本,那就代表Ruby环境已经安装好了。
详情请参考:Installing Ruby with RVM
安装Octopress
在安装Octopress之前,请确保你的电脑上已经安装有git了,在终端输入git --version
,应该可以看到电脑中的git版本,如果没有显示相关内容,请先安装git。
git安装之后,利用git命令将octopress从github上clone到本机,如下命令:1
2
3$ git clone git://github.com/imathis/octopress.git octopress
$ cd octopress
$ ruby --version
接着安装相关依赖项:1
2
3$ gem install bundler
$ rbenv rehash # If you use rbenv, rehash to be able to run the bundle command
$ bundle install
最后安装默认的Octopress主题。1
$ rake install
详情请参考:Octopress Setup
配置Octopress
Octopress的作者已经尽量让配置简化了。大多数情况下只需要配置_config.yml和Rakefile文件即可。其中Rakefile是跟博客部署相关,一般情况下并不需要修改这个文件,除非使用了rsync。
_config.yml
是博客重要的一个配置文件,在_config.yml
文件中有三大配置项:Main Configs、Jekyll & Plugins和3rd Party Settings。
注意,_config.yml
文件中其中url是必须要填写的,这里的url是在github上创建的一个仓库地址,具体请看第四步中创建的地址。另外再修改一下title、subtitle和author,根据需求,在开启一些第三方组件服务。
关于_config.yml
文件中的更多内容,请看这里的内容:Configuring Octopress
建议:最好把里面的twitter相关的信息全部删掉,否则由于GFW的原因,将会造成页面load很慢。同理,修改定制文件/source/_includes/custom/head.html
,把google的自定义字体去掉。这是根据唐巧的博文中—配置。
将博客部署到Github
Github的Page service可以免费托管博客,并且还可以自定义域名。
首先需要在GitHub上创建一个仓库,并将仓库名称按照这样的方式进行命名:username.github.com
或organization.github.com
(注意:这里的username必须跟你github的账户名一样。)。
等后面配置完毕之后,我们就可以在浏览器中使用页面地址http://username.github.com
来访问我们的博客。一般来说,我们希望在将博客的源码放到source分支下,并把生成的内容提交到master分支。
创建好仓库之后,我们需要利用octopress的一个配置rake任务来自动配置上面创建的仓库:可以让我们方便的部署GitHub page。在终端输入如下命令:1
$ rake setup_github_pages
上面的命令会做一些事情(详细介绍看下面给出的参考链接)。其中最主要的就是创建一个_deploy目录,目录用来存放部署到master分支的内容。期间会要求你输入仓库的url,根据提示,进行输入即可。
完成上面的命令之后,我们就可以生成博客并真正的部署到仓库中了。执行如下命令:1
2$ rake generate
$ rake deploy
上面的命令首先生成博客文件,并将生成的博客文件拷贝到_deploy/目录下,然后将这些内容添加到git中,并commit和push到仓库的master分支。
现在可以访问http://username.github.com
了。
至此,我们的博客已经完成基本的部署,不过博客的source需要单独提交,执行如下命令就可以将source提交到仓库的source分支下。1
2
3$ git add .
$ git commit -m 'Initial source commit'
$ git push origin source
如果在部署到仓库之前,需要先预览一下博客,可以在终端输入rake preview
命令,然后就能在浏览器中进行本地预览访问了:http://127.0.0.1:4000/
或http://localhost:4000/
,效果跟仓库中的一样。
撰写博客
我们一般撰写博客,主要是用到了下面这几个命令
1 | rake new_post[‘article name’],生成博文框架 |
这些命令的详细介绍可以参看Blogging Basics
所有的博文都必须存储在source/_posts
目录下,并且需要按照Jekyll的命名规范对文章进行命名:YYYY-MM-DD-post-title.markdown
。文章的名字会被当做url的一部分,而其中的日期用于对博文的区分和排序。
通过Octopress提供的task可以正确的按照命名规范创建一个博文,并且在博文中会附带常用的一些yaml元数据。只需要在终端输入如下命令:1
rake new_post["title"]
其中title为博文的文件名,创建出来的文件默认是markdown格式。上面的命令会创建出这样一个文件:source/_posts/2013-08-03-title.markdown
。
注意,如果你使用了oh-my-zsh
,可能会出现zsh: no matches found: new_post[title]
,则你需要在.zshrc
文件中加入alias rake="noglob rake"
,详情请参考Not compatible with Zsh
接着我们就可以在这个文件中写我们的博文啦。完成之后,我们可以预览和部署博文。下面是创建并部署博文的一个完整过程:1
2
3
4
5
6$ rake new_post["New Post"]
$ rake generate
$ git add .
$ git commit -am "Some comment here."
$ git push origin source
$ rake deploy
详情参考:Blogging Basics
额外配置
评论和分享功能
这里主要介绍在默认主题
下如何添加评论和分享功能。步骤如下:
- 在_config.yml中增加一项:
weibo_share: true
; - 修改
source/_includes/post/sharing.html
,引入post/weibo.html
; - 增加文件:
source/_includes/post/weibo.html
; - 访问http://www.jiathis.com/,获取分享的代码
- 访问http://uyan.cc/,获得评论的代码
- 将上面2步的代码都加入到
weibo.html
中即可
更换主题
下面以本篇博文使用的cotoflat主题来讲解如何更换Octopress的主题,这里使用的主题的相关内容可以到这里了解octoflat1
2
3
4$ cd your_octopress_dir
$ git clone https://github.com/alexgaribay/octoflat .themes/octoflat
$ rake install['octoflat']
$ rake generate
几乎所有的主题的更换方法都基本如上几个步骤,有兴趣的读者可以到这里来看看是否有自己喜欢的主题