这些年写博客,用过免费博客平台(有的被墙,有的倒闭,有的被产品经理反人类的更新逼走……),也自架服务器用开源软件BlosxomLifeTypeMovable TypeWordPressfluxbb搭过。最近尝试用jekyll和github配合写博客,感觉不错,比较适合爱折腾人士和码农:

说明:

当然,用什么不重要,重要的是写。

jekyll

使用jekyll,你可以写markdown格式的文章,方便快捷地根据模板生成漂亮的网站或博客。Linux或者Mac平台下,使用非常简单:

~ $ gem install bundle jekyll
~ $ jekyll new my-awesome-site
~ $ cd my-awesome-site
~/my-awesome-site $ bundle exec jekyll serve
# => Now browse to http://localhost:4000

在 Mac 上,需要先下载安装 Command Line Tool

如果之前安装过,但是很久没更新,可以 bundle update 一下。

github

全球最大的源代码托管平台,如果不了解,可以参考:https://help.github.com/

准备工作

更新准备好的网站

git clone https://github.com/wulujia/wulujia.com.git
mv blog/* wulujia.com && cd wulujia.com
git checkout --orphan gh-pages
git add .
git commit -a -m "First pages commit"
git push origin gh-pages

更新完毕后,一般需要5-10分钟,就能访问到你的博客页面了。

保持更新

后续写blog时,只需要在目录下执行:

git add .
git commit -a -m "update blog"
git push origin gh-pages

小技巧

目录

要生成类似OSMOCOMBB新手指南文章前面目录效果,需要:

  1. 页面中引用jquery;
  2. 安装jekyll-table-of-content的js脚本;
    • jekyll-table-of-contents:https://github.com/ghiculescu/jekyll-table-of-contents
    • 我直接放进html文件里了:https://github.com/wulujia/wulujia.com/blob/gh-pages/_includes/toc.html
  3. 在适当位置(比如在_layouts/post.html)插入include toc.html的内容。

博客分页

  1. 在_config.yml中增加:paginate: 9
  2. 在index.html中增加「上一页、下一页」相关代码,参考帮助文件

分类和标签

文章内容一旦多了,总得有点分类才能更清晰一些,效果参见:

参考文章:http://realjenius.com/2012/12/01/jekyll-category-tag-paging-feeds/

Rakefile

为了简化操作,我把一些常用命令放进Rakefile中,操作起来就容易了,比如:

直接fork别人的源代码来使用

Jekyll-powered blogs and Source是一些使用Jekyll的博客,你可以看看哪个人的网站最顺眼,直接使用他们的代码呗 :)

使用第三方 theme 时,可能需要解决依赖关系

gem install bundler
bundle install

使用自己的域名 & HTTPS

参考如下链接:

参考

« 首页