支持Markdown的博客工具之中,比较入眼的有ghost, Jekyll和hexo。
ghost目前人气最高,号称是要取代WordPress的下一代博客平台。不过问题也正在于此,它的目标定位是博客平台,像WordPress一样重量级。仅用于一个独立博客,有点高射炮打蚊子的意思。最关键的一点,ghost生成的是动态网站,依赖数据库,我的直觉立刻让我放弃掉了ghost。
为什么我要排斥数据库?一个原因是我对纯文本有偏爱,感觉上要比二进制可控。但主要原因还是出于我的一个顾虑,说来可笑:我希望到了年老昏花的时候,这个博客依然在。
相比动态网站,静态网站对环境的依赖少得多,可移植性好。剩下的Jekyll和hexo都是生成静态网站的,它俩虽然用起来有差异,其实是殊途同归,最后的目标都是静态页面。
Jekyll
Jekyll的流行,与它被GitHub使用有很大关系。GitHub上的每个项目都可以有自己的主页,可定制程度很高,可以绑定域名。开发者按照Jekyll的格式写好后提交,GitHub会自动生成页面。就是说,如果仅在GitHub上托管网站,你的本地其实不需要有Jekyll运行环境。但是做独立博客总不能依赖Github,一切都要自己动手,麻烦就来了。
首先Jekyll的依赖太多,要求本地安装python、ruby和一些库。这对Windows很不友好,光是安装那一大堆依赖就不轻松,更别提文本编码方面的bug。我一上来就吃了不支持中文的当头一棒,修改ruby代码指定成UTF8才踉踉跄跄搞定。
网上读Jekyll的文档,总觉得它的语法和功能不够酷,作为程序员实在是对它无爱。所以用了一段时间后就不断寻找替代品,有幸遇到了下面要出场的hexo。
hexo
hexo获得的关注虽不如前两者,但它有几点很讨人喜欢:
- 依赖少(仅依赖node),易于安装
- 台湾人写的,不用担心对中文支持不好
- 对程序员友好,要是愿意折腾还是有的折腾的
基于以上原因,我最终选择了hexo作为维护博客的工具。
阮一峰博客的应用技术: movable
对于各种网站的技术分析可以采用的网站:
https://wappalyzer.com/