Case settled. 终于找到一个接近完美的记录的方式。Hakyll + org-mode.
之前有一段时间用\(\LaTeX\)来记录,\(\LaTeX\)有两个致命的问题,第一是太重了,不适合记录随想。第二是一旦用\(\LaTeX\)记录笔记,那笔记的样式就固定死了,没法把\(\LaTeX\)转成html,放到网页上,也只能用修改主题、字体的方式来放在电纸书阅读。
之前有一段时间用onenote来记录,onenote最大的好处是可以随时 jot down 自己的想法。可是 jot down 的东西没有很好的方式分享出来。另一方面onenote键入数学公式有点折腾。最最重要的是用了onenote我整个人都被囚禁了。
后来越来越多使用 org-mode 了。org capture 能让我快速记录自己的想法。org-fragtog可以几乎实时渲染出数学公式。我总是感觉org-mode只是一个临时的蹩脚方案。一旦我用了org-fragtog我就总会感觉有好多东西渲染不出来。总感觉org-mode导出的html太丑,又不想自己折腾模板。总感觉如果真要用来写beamer还是要写很多的\(\LaTeX\)代码。org-babel也不如jupyter。
我要正式皈依org-mode神教了。只因为可能是宇宙最强大的静态网站生成器——Hakyll。Hakyll本身现在还不支持org-mode读取的metadata,但是Hakyll是a static website compiler library. 我们可以加上一些 haskell 代码来让 Hakyll 读取 org-mode 的metadata,见org-mode metadata not recognized。Hakyll本身的强大不细表了,我只想说Hakyll给我的感觉是它一个库可以用来帮助你写生成html文件的代码,一般的静态网站生成器本身是一个的定制化程度低的二进制,用着用着你就会觉得在你的使用场景里这个东西有一些不好解决的痛点。另外Hakyll是haskell写的,所以我们可以很轻易地用上一个叫做pandoc的核武器。有了pandoc这个核武器,我可以将我的orgmode里面的\(\LaTeX\)公式导出成mathml,妈妈再也不用担心我不存在的观众用了noscript了。有了pandoc妈妈再也不用担心我记录我的想法了别人没法在kindle上观看了,直接在生成网站的时候生成一份epub放到网站上。理论上假如我现在有一个想法,我可以用xmonad的快捷键迅速打开org-capture,用org-capture的模板自动帮我填写好时间、标题、slug等metadata,然后新建一个文件,跳转到我要写的行首。org-mode可以预览图片,org-ref可以帮我管理参考文献。再找一个漂亮的Hakyll主题。感觉一切都是那么美好。
我只有几个小小的梦想了。 我希望katex能够支持诸如 DeclareMathOperator, newcommand 的一系列命令。全部手写太累了。理论上来说katex应该已经支持 newcommand 了。实测没有。邪恶势力mathjax过于沉重。我希望org-mode 能够成为一个 universal markup language。现在 org-mode 不存在于emacs之外几乎的世界。Org-Mode Is One of the Most Reasonable Markup Languages to Use for Text。vimwiki现在还是不怎么好使。github的org-mode预览也还是个垃圾。我希望能有一个更好方式让服务端生成描述文件,客户端根据描述文件渲染。mathml还是太垃圾。连个对角线都画不了。我希望世界和平。

