为什么我不用halo2建博客了?

为什么我不用halo2建博客了?

Published on

从接触 Halo2 到现在决定转向 Next.js,我的心情有些复杂。Halo2 确实有很多优点:开箱即用,自带编辑器,还有社区开发的小插件,都让我在写作时感到非常方便。最近官方对手机 App 的投入也让我觉得这个项目还在不断发展。

然而,每次在 Obsidian 里写完文章,再把它们搬到 Halo 后端时,总会遇到一些小问题。排版细节和图片文字对齐问题需要我借助其他软件去调整。尤其是那个同步到微信公众号的插件,虽然当初花费了很少的钱,期待一键推送,结果只能同步最基础的标题、描述、封面、段落等,排版还是需要我手动调整。这个插件后来也不再更新,让我有些失望。

起初,付费插件可以单独购买,但现在要使用所有好用的功能,就需要订阅专业版——每月 48/每年 480 元,或者一次性买断 1200 元。对于我这样一个只是想写点文字、偶尔分享地图可视化小玩意儿的人来说,这笔费用让我犹豫。

在无数个深夜,我总会想象:如果没有框架的束缚,写作会不会更自由?我会不会更愿意在文章中融入一段坐标转换的小玩意儿,或者突然插入一张动态热力图,甚至让读者能与我的文章实时互动,而不需要去研究插件接口和商城里那些层层叠叠的版本限制?

于是,我开始把目光投向了的 Next.js 世界。那里没有繁重的后台,也没有层层绑定的专业版权限,只有无限的可能。我可以继续在 Obsidian 里写下文字,再由 Contentlayer 地把它们编译成网页;我可以用 Tailwind 自由的自定义页面风格;我可以在 API 路由里随手写几行逻辑,让地图在页面上轻轻浮现;我可以把这一切托管到 Vercel,一切看起来都那么自然。

比如,在文章中我可以直接插入一个邮件新闻订阅自定义组件:

订阅我们的通讯
我们会定期发送有关设计和数据分析的精选内容,您可以随时通过邮件底部的链接取消订阅

再比如,我可以方便地集成各种 JavaScript 图表库。以下是使用 ECharts 的一个更复杂的示例:

或者直接渲染一个地图:

以上示例都来自于Examples - Apache ECharts

也许有人会说,放弃一个成熟的生态是一种冒险。但我认为,这种冒险是对写作的尊重:当文字不再被技术的限制束缚,它才能更好地表达;当创作不再被高昂的订阅费用阻隔,读者和作者才能更亲近。