写作环境搭建(git+github+markdown+jekyll)

缘起

读了阳志平大神的一篇博文理想的写作环境:git+github+markdown+jekyll,不由感叹,这就是我想要的,于是就开始着手做这件事。在小站里也推荐了一下,然后发现,好多朋友早就已经搞起了,有的已经玩腻了,我果然又落伍了=。 =。这将是我第一篇用Markdown写的博文,当作练手~,真的很简单。

参考

这方面的好文章网上相当多,我挑几个自己用上的列出来:

说实话,这几篇看完了尤其是综述,就不用往下看了,以下作为我个人记录,只给出简单的过程以及排错经验,再无概念上的陈述,以备后用。

过程记录

以下过程在ubuntu 12.04下进行

  1. apt-get安装rubygems之后,gem install jekyll安装jekyll, 在本地装这些东西呢其实是为了本地调试预览用的,不然你每次都要把改动提交到github然后才能看效果,并用同样的gem命令安装directory_watcher、liquid、open4、maruku、classifier,rdiscount这几个包。Jekyll默认用maruku来解析markdown语言,你也可以用别的程序来解析,比如上面的rdiscount。

  2. github上建立名为username.github.com的项目,其中username是你自己的github用户名。

  3. git clone该项目至本地同名文件夹username.github.com。

  4. 偷懒下载别人改好的jekyll模板框架,比较有名的是Octopress和Jekyll Bootstrap,另外https://github.com/mojombo/jekyll/wiki/sites里面有很多可供参考的模板,我使用的是kejinlu.github.com。由于这些模板一般都是github上的,所以你可以直接git clone到本地,然后将其内容copy到你的username.github.com本地文件夹中, 注意一定要将他人的.git文件删掉

  5. 接下来就是改动其内容,美其名曰hack,实际上我对前端代码完全看不懂,所以只做了最低级的修改,比如个人信息和文章神马的。改完后,push到github上,就算大功告成了,过个10分钟左右访问http://username.github.com,就可以看到你的blog雏形了。注意如果接到github发来的邮件告诉你发生错误,就说明没有正确配置,无法显示你的blog,我遇到过两个错误:

    • For information on troubleshooting Jekyll see https://help.github.com/articles/using-jekyll-with-pages#troubleshooting

    这个错误一般是本地安装的jekyll或者ruby,rubygems等软件包版本不符合github的版本要求。你可以使用gem list命令查看本地的软件包版本号。以下是github上软件包的版本号要求。

         gem 'jekyll',     '=0.12.0'  
         gem 'liquid',     '=2.4.1'  
         gem 'redcarpet',  '=2.1.1'  
         gem 'maruku',     '=0.6.0'  
         gem 'rdiscount',  '=1.6.8'  
         gem 'RedCloth',   '=4.2.9'
    
    • CNAME already taken: ……

    这个错误需要把本地文件夹下的CNAME文件删掉,这个应该是别人定义自己自定义域名用的,如果你没有自定义域名,那就不需要。

  6. 如果你的blog可以正确访问了,你就可以在_posts文件夹下添加.md文件作为你的博文,注意命名格式一定要是yy-mm-dd-title.md,title是你文章的标题。写完之后push到github上就可以在你的blog上显示了,其中每篇文章的开头都要指定一定的格式,如本文:

     ---
     layout: post
     categories: [Tools]
     tags: [jekyll, github, git, markdown]
     ---
    

    layout: post指的是博文格式安装_layouts文件夹下的post.html指定的格式来显示。
    categories: [Tools]指定博文分类。
    tags: [jekyll, github, git, markdown]指定博文标签。

  7. 如上所述,每次对博文做出改动都需要push到github上才能看到效果,那么如何不需要联网直接在本地调试呢,显然是可以的,因为你本地已经安装了jekyll(在第一步骤中),具体做法就是在本地username.github.com文件夹下运行命令,jekyll serve,在jekyll 0.12.0以前的命令好像是jekyll –server,这样就启动了jekyll本地端口的监听,当你访问localhost:4000时,就会看到你blog显示出来了。

注意事项

  1. 整个过程中最让我困扰的的是rubygems软件包版本的问题,用apt-get怎么也搞不定,可能是源的问题,最终我是从rubygems.org中搜索所有我想要的版本的包的,然后用gem instll安装包就可以了。

  2. 在家里我用的ubuntu搭建的环境,在公司的时候我用windows想往github上push文章,但是发现都是乱码,这是因为我用的mysgit对中文支持不好,于是我按照windows下git bash显示中文的方法做了修改,并按照git编辑器改用本机gvim的方法在mysgit下使用gvim或notepad++打开我的博文,保存为utf-8格式,这样再push就好用了。

Published: March 04 2013