博客
现在是2026年2月13日,凌晨03:12。按26年1月15日假期开始,3月9日假期结束算,我的假期已经过去了56.6%。
$$ {\displaystyle\frac{30}{56}}\thickapprox56.6% $$
这是一个很神奇的时间点,因为结果的整数部分和分母同为56。
在11、12日这两天,我花了两天的功夫,VIbe Coded了这个站点。最初的动机是因为最近看了大佬小岛的博客。她的博客上记录了她十余年的博文。对于想了解她的人来说,只需要阅读她的博文即可。这样一来,她的成长轨迹,她的思想轨迹都能在互联网上得到长存。这让我十分羡慕,于是下定决心来造这个博客系统。
我不想要用现成的平台。因为在平台上,写的文章或多或少会有些限制(虽然我一般不会写出可能会收到限制的文章)。此外,使用现成的平台,博客的具体功能未必能满足我自己的实际需求。自行去部署现有的博客系统也是如此,于是我打算自己“造”一个博客系统。
但是,我又不想花太多时间和功夫来写代码,加上我的能力有限,尤其是前端能力有限,于是这个博客系统完全是由LLM生成的。听说gemini 3 pro的前端能力比较强,于是一开始是用GIthub copilot+gemini 3 pro来写前端。前端做得差不多了,用Claude Code+Claude Opus 4.6来写前后端的逻辑。结果没写完,Agent就出错了。于是后面只好继续用GIthub copilot+gemini 3 pro来写。等我把后端做得差不多了,后面的小改动,小修改,以及插件的开发,都用了Codex app+chatGPT-5.3-codex来做。
平时刷推特,常常看到有人说某某AI工具出现/迭代,不学就会落伍。于是我也常常为了跟上脚步,去试着用这些不同的工具。但是最后实际使用下来,我没有感觉到有明显的区别。除了Claude Code可能会在写代码前,向用户提问几个问题来确认开发的细节。Codex也有这样的功能,不过每次是提单个问题,用户不能一口气回答,有的时候AI就在思考、等待用户回答的这个过程浪费掉一些时间。
这个博客系统由前端、后端、Obsidian插件三个部分组成。
我的博文在本地使用Obsidian来编写。之所以选用Obsidian是因为我近期写文档、写日记也在用它。它在支持Markdown语法的同时,还多了一些独有的语法。
前端使用React框架开发,使用Vite作为打包工具。我在前端花了不少功夫去和AI对话,来让博客的前端UI尽可能地符合我的审美。前几天我在广州白鹅潭艺术中心看了艺术家单凡的作品展。很吸引我的是它的竹子画,特别是大幅的竹子画。这让我近期对这种类似国画的艺术产生了一定的审美向往。于是我也想在这个UI中有所体现。
前端还有一个麻烦的地方是Obsidian语法的渲染。Obsidian语法可以说是MD语法的一个超集。因此,在这个部分,AI的实现方案是使用react-markdown、remark-gfm、remark-math、rehype-katex、react-syntax-highlighter、mermaid等等现成的库再加上自行实现的逻辑。特别是实现文章嵌套、跳转的逻辑。
由于我近期对Go比较感兴趣,于是后端部分是使用Go实现的。当然,这里的代码也是AI生成的,所以没什么好说的。
目前来说,前端部署在Netlify上,这个平台提供了对这种前端项目的静态部署服务,免费,免科学上网,并且还能用域名+HTTPS。只可惜这个站点现在不能在微信打开。
后端部分部署在我租的一个VPS上。但是后来想,这个博文其实可以用Git传到我的小号上,设成公开仓库。这样连这个VPS的钱也省了,哪一天我忘记续费了,我的博文也能一直在Github上存着。但是这样做的坏处就是,文章加密功能就不好实现了。
前端部分还有一个不依赖后端的讨论区功能,这个是使用Giscus实现的。这个工具能把仓库的评论区搬到任意站点来,十分有意思。但实际上,我起初是想像小岛的博客一样用Disqus来实现评论区的。但是GPT告诉我这个Disqus会在站点引入广告,在它的建议下我决定改用Giscus。
我打算近期要更频繁地写日记和随笔,但是我之前所写的日记或者随笔基本上都只存在本地。如果要把它发出来,会给我带来一些压力。譬如我可能要对一些说法多加斟酌,对一些语法多加推敲,以免让人看了好笑😄。
这个博客系统会存储我所有的博文,所有博文以在本平台发布的版本为准。如果我闲得无聊(并且渴望认同的时候),会考虑把一些我觉得写不错的文章搬到别的公共平台。
[!NOTE]
这篇博客是本站点的第一篇博客,如果有比本文时间更早的文章,说明是我之前在别的平台写的文章,被我搬了过来。