Jasper Ji

开口不在舌头上

0%

Octopress升级

升级其他软件的时候居然把Ruby版本升级到了3.0,而Octopress依赖的Jekyll的版本是2.0,对Ruby版本有限制,新版本用不了。本来想换个静态博客的框架来着,想着自己好歹也是全栈工程师,自己升级下吧。

Octopress其实是基于Jekyll的定制静态博客框架,生成静态内容主要依赖于Jekyll了。看了下Jekyll已经到4.0了,干脆直接升级到4.0了。不过发现一些问题,4.0后放弃了对RDiscount、Pygments的支持,默认的Markdown解析用的是Kramdown。Octopress分别使用了RDiscount、Pygments,所以这块只能弃用了,改用Kramdown。

升级后发现代码高亮有点问题,4.0因为弃用了Pygments,所以只能使用默认的Rouge。Octopress自己实现了一个代码高亮的样式,但是有兼容问题,最后直接弃用。使用Rouge生成Github的样式,最后修改了下,最终变成现在的样子,总之还是不太喜欢之前的暗背景的样式。

生成文章方面,因为Jekyll的一些变更,遇到三个问题,首先是文章列表是生序排序的,修改了下也好了。其次发现首页没有文章,主要是没有安装jekyll-paginate的缘故。最后就是生成的文章没有时间,Octopress自定义了一个时间格式的钩子,但是没有起作用,最后直接使用原生的方式解决了。

博客预览使用rake preview会报错,最后直接在Public目录下起了个Python的Web服务器,这个并不影响使用。

总结

现在还在用Octopress人确实不多了,多半都是不更新的僵尸博客了。其实这些静态博客解决方案原理大同小异的,之前有人吐槽Octopress生成博客文章慢,实际上主要是Jekyll慢了,不过现在都4.0了,目前我觉得速度还是能接受的。

既然Octopress作者都不维护了,想着后续问题修复的差不多了,把修改的版本放出了,也算是尽一份力吧。

参考:
Jekyll 4.0.0 Released