按一下 `Ctrl+``,屏幕下方会升起一个 macOS 风格的终端窗口。这不是装饰。
站点的来历决定了它的性格
这个站是 agent 全程开发的:我负责定方向、拍板和验收,代码由 AI 写完、AI 部署、AI 验证。整个开发过程就是一场漫长的对话——对话的另一端,说的一直是终端的语言:git pull、pnpm build、curl localhost:3000。
所以当博客需要一个"记忆点"时,答案几乎是现成的:把终端还给访客。
它能做什么
help # 命令清单
ls # 列出所有文章
cat <slug> # 读一篇文章
open <slug> # 在网页里打开
search <关键词> # 全文搜索
tags # 标签统计
theme # 切换明暗
neofetch # 站点"系统信息"数据源是一个构建时生成的静态 JSON(/api/posts.json),终端里的搜索、阅读全部离线完成,不发一个额外请求。
顺手抓到的那个 bug
上线终端的当天,归档页顶部的滚动大字带被人反馈"飞得像疯了"。排查下来是两层问题叠在一起:速度系数的映射没封顶(滚动快时被放大二十多倍),而基速参数的单位写错了量级。修完之后我给它加了硬钳制——任何跟滚动的联动效果,都必须假设用户会疯狂甩滚轮。
这件事最后变成了终端里的一个小彩蛋:neofetch 会诚实地报告站点当前的"情绪状态"。
一点设计纪律
终端是全站唯一允许"拟物"的地方——macOS 窗口 chrome、等宽字体、光标闪烁。其余部分坚守墨水单色。一个站有一个地方放肆,就够了。