分享

基于Jekyll搭建自己的博客

 思考的轨迹 2012-02-13

基于Jekyll搭建自己的博客

[Update 2011-09-05] 发现了一个基于Jekyll的整合得非常好的博客平台Octopress,同样支持发布在GitHub上。我暂时还没有迁移的打算,有兴趣的同学可以参考这里这里

本博客是通过Jekyll模版引擎制作并发布在GitHub上的。我觉得对于程序员来说,这套组合简直完美。关于Jekyll这个绝妙的主意是如何产生的,可以读一读作者Tom Preston-Werner(同时也是GitHub创始人之一)的文章Blogging Like a Hacker,这里有中文版

发现这套工具源于无意间看到的@lzyy的一篇文章使用github作为博客引擎。当时参考这篇文章我很快建起了自己的博客(虽然最后什么都没写出来……)。最近下定决心要开一个技术博客并坚持写下去,于是花了两三天时间从头重建了这里。现在把遇到的一些问题和解决方案写下来,作为@lzyy原文的补充。

基础配置

首先说明,这套工具对非程序员来说并不合适。基础配置请参考原文,对于一个程序员来说,如果你稍有一些Git知识,这个过程会非常容易,如果了解Ruby会更加轻松。

这里我遇到的唯一一个问题是域名绑定的问题,因为我想把一级域名绑定到GitHub站点。这是无法通过设置CNAME完成的,只能设置一条A记录,把根域名指向GitHub的IP地址:207.97.227.245。

包含文件

如果有共用的页面片段,可以把这些片段放在_include目录下,然后在需要的位置使用include标签:

{% include sig.textile %}

Jekyll使用Liquid模版语言处理模版,并进行了扩展。更多标签和Filter请参考这里这里

使用插件

Jekyll的核心只是一个页面生成器,只负责根据模版生成静态页面。博客常有的文章分类、标签和归档功能可以通过插件提供。插件放在_plugins目录下,Jekyll在生成页面时会处理这个目录下的*.rb文件。

我使用了josegonzalez提供的一套博客插件,目前只使用了分类和标签两个。这两个插件都是在生成网站时根据_layouts目录下的模版来生成相应的分类和标签页面。这些插件依赖几个Gems,如果生成时出错时按提示安装即可。

部署问题

注意,因为安全问题,GibHub在生成网站时是不会调用用户目录中的插件的。如果想使用插件,一个方案是在本地生成网站,然后把_site目录作为一个项目放在GitHub上,这个方案我没有尝试;目前针对我使用的两个插件,我把它们的生成目录指向了项目根目录下的categories和tags,这样Jekyll在生成页面时会把这两个目录作为普通目录处理,即直接放到生成网站的根目录下,稍嫌麻烦的是要在本地看结果时需要生成两次。

除了此之外,也可以把网站部署到Heroku等网站,部署方案可以参考这里

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多