Jekyll安装
1.Ruby的安装
本人是用archlinux,所以一个命令就搞定了。其他发行版本的系统可以稍作修改。
pacman -S ruby
2.Jekyll的安装
在Ruby安装完成之后,先update一下系统文件
gem update --system
然后直接用gem命令来安装jekyll就OK了。
gem instal jekyll
在我自己电脑上输入这个命令后很长时间没有反应,过了很长时间才进行安装过程。个人估计是源的问题。
3.测试运行环境
在上面都安装完成之后,会在系统用户目录下生成一个.gem的隐藏文件夹,可以进入到里面(.gem/ruby/2.0.0/bin/).在这个目录下有jekyll,maruku,marutex,redcarpet等一些可以执行的文件。
双分支解决plugin问题
plugin问题
在github中,默认Jekyll配置文件为safe: true选项。这样就导致在本地运行测试良好的页面,上传到github很有可能会遇到build fail错误。另外,github系统自带的jeyll版本已经比较老了,就算在本地用safe编译通过的push上去后,仍然后可能会遇到这种错误。
上面是问题,后面的是解决问题。
解决问题的方法
本地和github上同时维护两个分支:master分支和source分支,source这个名称无所谓,可以取其他名称叫master分支或者daily分支也可。master分支只用来维护在本地编译好的html文件,并且在master根目录新建一个”.nojekyll"的文件,意思就是不用github自动用jekyll编译源文件。
在source分支用来维护所有源文件。
解决办法参考网络上很多朋友的解决方法。经过自己亲身测试后发现有些是不行的,不知道为什么,毕竟自己是个git菜鸟,复杂的git操作自己不会。这篇日志记录自己本机能够这个问题的方法。权当给自己做个笔记,以后忘了再温习一遍。如果对有些朋友有帮助,那就更好了。
解决方法
1.将远程代码clone到本地来
git clone [git仓库地址]
2.进入到本地仓库的根目录(cd),新建一个分支
git checkout -b source。
3.删除master分支
git branch -D master
本地编译markdown文件,运行命令
jekyll serve
如果通过浏览器打开http://0.0.0.0:4000/页面能够看到博客内容,编译正常执行。Ctrl+C 终端运行结果。
4.新建master分支
git checkout -B source
5.修改master分支的根目录,将新生成的_site目录设置为master分支的根目录
git filter-branch --subdirectory-filter _site HEAD
6.将所有内容push到github上去就OK了.
git push --all origin
以后我会根据自己的需要添加plugin到博客中。这种方法虽然比较麻烦,但是好在jekyll编译markdown文件速度比较快,效率还是非常高的。
通过上面的描述,其实有些朋友可能觉得jekyll太复杂或者自己对ruby不熟悉。其实我也完全不会ruby,没有接触过。完全可以通过其他markdown解释程序来替代jekyll。然后将解释后的文件上传到github中master分支中,一样的效果。