将博客迁移到 Org-mode

↑ 回到顶部

当你不知道写什么时,就写你如何写作的。一定有哪一天,我也要分享“我为什么写作”了。

在这些人身上,你就看不到水往低处流、苹果掉下地,狼把兔子吃掉的宏大的过程,看到的现象,相当于水往山上流,苹果飞上天,兔子吃掉狼。我还可以说,光有熵增现象不成。举例言之,大家都顺着一个自然的方向往下溜,最后准会在个低洼的地方汇齐,挤在一起像粪缸里的蛆。但是这也不能解释我的行为。我的行为是不能解释的,假如你把熵增现象看成金科玉律的话。

当然,如果硬要我用一句话直截了当地回答这个问题,那就是:我相信我自己有文学才能,我应该做这件事。但是这句话正如一个嫌疑犯说自己没杀人一样不可信。所以信不信由你罢。

—— 王小波,《我的精神家园》

我体验过几乎市面上所有的热门 SSGJekyllHugoHexoZolamdBookMkDocs……每次迁移都是因为拓展难度——定制网站主题和功能太过复杂。

上次选择 MkDocs,只是想找个笔记系统记笔记,顺带写点博客。但称 MkDocs 为笔记系统绝对言过其实,它几乎没有笔记功能,比不过百花齐放的双链笔记软件。做文档网站倒是合格,如果你愿意装一堆插件。

说到插件,当人们说自己用 MkDocs 构建网站,他们很可能说的其实是 Material for MkDocs,这个主题插件的 Star 数量甚至超过了 MkDocs 本身。我也给 MkDocs 写过插件,修改过别人的插件,Python 生态有种潜在的病症,让人发怵。

目前,MkDocs 社区正在分裂,Material for MkDocs 也已停止开发,转向了新项目。如果你对这段前因后果感兴趣,可以看这篇文章:The Slow Collapse of MkDocs

为什么是 Org-mode

MkDocs 网站高度依赖 JavaScript,生成的 HTML 结构复杂,Material for MkDocs 的模板层层嵌套,CSS 类名晦涩,主题定制靠覆盖内置变量和 CSS,远远超出我实际需求的复杂度。

我只想要一个简单的页面,清晰的排版,而这其实非常简单,不需要前端框架,不需要 JS,只需要 HTML 加几条简单的 CSS 就足够:

在 Org-mode 中,默认导出就是干净的语义化 HTML,内联一小段 CSS。字迹清晰,间距合适,颜色不刺眼,内容摆在无需转动脖子的位置,图片排版合理,有标题栏,有元信息,相当易于阅读,除了会在深夜刺瞎双眼,还有什么不满呢?

ox-html 默认导出效果预览图(亮色图片注意)

ox-html-default.png

至于 Markdown 格式本身,上篇文章已经说得够多了:没有真正的规范,变体繁多,可拓展性差。

相比之下,Org-mode 规范来自 Emacs 生态,不存在分裂的方言问题;原生支持脚注、表格、代码块、标签、元数据,不需要任何插件;导出时生成干净的语义化 HTML,没有多余脚本。

转换 Markdown

todo!()

样式

清除

布局

索引页生成

RSS

搜索

部署

Copyright © 2024 13m0n4de · CC BY-NC 4.0