用 Vibe Coding 重写了这个博客

翻旧仓库像开一个不常回去的抽屉:jQuery、Bootstrap 3、还有当年手写的 GitHub API 调用,一行行都还认得,只是知道它们中的一部分已经悄悄坏掉了——比如评论功能依赖的用户名密码登录,GitHub 早就不允许了。

这次没有从头搬砖,而是打开对话,把想法说清楚,让代码自己在几轮来回里长出来。这就是这篇要写的:一次 vibe coding 式的重写。

保留的东西

核心的想法没有变:

  • 纯静态,没有后端,没有数据库
  • 写 Markdown,git push,就是发布
  • 评论”借用” GitHub Issues 来存——不用第三方插件,也不用自己搭服务

这是这个项目从一开始就成立的地方,值得留下来。

换掉的东西

  • 框架:jQuery + 手写 DOM 操作 → Astro + Preact,静态构建,交互只在需要的地方才加载
  • 排序:以前没法拿到文章的发布时间,只能靠命名规范凑合;现在文章是 Content Collection,date 写在 frontmatter 里,构建时直接排序,不用猜
  • 评论登录:Basic Auth 用户名密码已经失效,改成用 Personal Access Token,只存在当前标签页的 session 里,不经过任何服务器
  • 部署:手动 git push 之外,加了一个 GitHub Actions workflow,push 之后自动构建、自动发布
  • Fork 体验:仓库地址不再写死在代码里,构建时读 git remote 自动识别,fork 完直接能跑

关于 vibe coding

好玩的地方在于,这次几乎没有一行代码是我自己敲的第一版——都是先讲清楚”我想要什么”,看它写出来的东西,再挑哪里不对劲、哪里可以更好。像是把设计评审和写代码压缩成了同一个动作。

代码这东西,写的时候总以为是终点,其实只是某一年的状态。十年前的自己不会想到,十年后重写它的方式也变了。

Comments

Loading comments…

Comments post to a GitHub Issue on this repo via a personal access token — nothing goes through any server but GitHub's own API. Generate one (scope: public_repo). It's kept only in this tab's session storage.