用 clojure 重写了博客程序
2019-06-07
关于写博客的历史,说来话长。最早可能要追溯到 2011 或者 2012 左右,那时候还在学校没有毕业。那个时候还流行 csdn 博客园一类的,我还在上面写过最早一些内容。那个时候中国互联网...额,墙已经存在了。
我不放心自己写的东西,托管在某个地方,有一天会丢失;我不喜欢被审核;不喜欢收到消息说,内容不友善,建议修改。于是折腾独立博客。离开了博客园那类环境,一下子浏览量完全没了。我并不灰心,也许内容是写得烂,质量低。但是我相信会一点一点进步的。当然,没有人看的好处,也就没有人喷... 看这些内容的网友,都是有水平的。
有记录的第一个博客程序当时是用 go 和 org mode 搭起来的,时间是 2012 年,这里还有篇文章存档。内容用 org mode 写,然后用 emacs 生成 html,评论功能可能没有做,rss 输出是支持的。2012 那年我应该还在读研。
然后时间到 2015 年,那阵子大概在折腾 chicken (scheme 的某个编译器实现),于是练练手把博客重写了。
内容也改成用 markdown 的,org mode 从入门到放弃,摊手!chicken 的 markdown 库的解析似乎实现得不太好,代码块支持不识别,所以我写 markdown 本该用 ``` 的地方都用 block 代替了。rss 还在支持的,评论功能这次实现里面应该加上了,调用了 disqus 的服务。
反正有翻墙需求,除了放梯子,博客程序也放在自己的 vps 上面–不利用起来多浪费。当时 vps 用的搬瓦工的 512M 的,真心便宜,一年 60+ RMB,这样子用了好几年。直到前一阵官方宣布,老的基于 openvz 的实例不再支持了,也不能续费了。然后 vps 也就到期了。想换一下其它家的服务试试。
scheme 语言很小众,chicken 的使用者可能也不多,现在也我不用使用这门语言写东西,新的 vps 上面还要搭环境挺麻烦。考虑维护起来更舒服一些,也顺手学习新知识,所以决定这次把博客用 clojure 重写。
基本照着这个教程做的。这跟我上一版的实现很接近,都是 router,handler 这些。然后之前用的 sxml 的模板,现在用 hiccup,大同小异,DSL 就是好用。
顺便清理掉了一些很老的 html 内容,以前写的有些内容,排版真是一塌糊涂。