什么是博客生成器
这里的博客生成器也叫静态网站生成器,是一种将文本文档通过一些处理生成一个有机整体的html语言的网站,由于生成的静态网页可以直接托管在主机或vps上,配合nginx或Apache就可以供网民使用。github与gitcafe等网站也支持免费托管静态网页文件,非常方便。
所使用的文本文档可以是markdown也可以是textfile,可供有相应需求的人士使用。
劣势在于每次更新网页必须重新生成整个网站,用时通常是几秒到几分钟,随网站规模而变,略麻烦!
众多生成器分别用不同的语言写出,也有各自特点,例如Jekyll、Hexo、Hugo、Pelican等。本文就热门的博客生成器进行一定比较,供读者参考。
社区支持
jekyll、hexo、hugo部署时通常需要敲入很多代码,一行一行的命令下去很难讲会不会遇到什么问题。一旦遇到问题,我们通常需要求助于网络。当社区支持越强时,也就是说有更多的人在与你用相同的工具,遇到与你一样问题的人应当有很多,此时求得答案也越容易。
量化社区支持的方法,此处西蒙宫用github上的star的数目来量化,当然也可以有其他的方法。
截止2016年3月31日,
☆star数目:
- Hugo :9047
- Jekyll:24564
- Hexo: 9273
编译速度
根据这里提供的测试结果
生成585篇文章,需要的时间(单位:秒)为:
- Jekyll: 15.90
- Hugo: 4.90
- Hexo的数据应当介于二者之间。
之所以有这样的结果是因为Hugo使用go语言是一种编译型语言,速度非常快,而Jekyll使用ruby编写,hexo使用nodejs编写,ruby与nodejs都是面向对象的高级解释型语言,执行效率比编译型语言要低。为什么Hexo介于二者之间,因为Nodejs的V8引擎比Ruby实现的方法要快。而且网上也有相关测评,具体可以参考众多Hexo生成的博客网站,例如这里
其他方面
Jekyll 有github支持,可以将markdown文件直接放到git仓库,github会自动生成网页文件。(Github一直是一个亲ruby的社区)
Hexo提供了方便的部署命令,可以做到一条命令部署到github上。
Hugo的官方文档写的非常好,部署简洁。前两者部署时需要安装很多依赖,而hugo可以直接提供二进制文件运行,甚至不需要root权限。