这个站点的第一条技术记录:静态优先,动态解耦,把复杂度关进容器里。
起点
这个站点的目标不是做成一个臃肿的 CMS,而是尽量保持静态:文章、图片、入口页都由构建产物直接交给 OpenResty 服务。能不需要运行时的地方,就不留运行时。
动态能力只在确实需要的时候出现。评论交给 Twikoo,资源站可以交给 OpenList 或 AList,后续如果有更多小工具,也尽量独立成容器,不和主站绑在一起。
选择
Astro 负责页面和 Markdown 内容。它足够轻,适合个人站;内容集合可以把技术日志和 Galgame 评测分开管理,又能在前台统一索引。
OpenResty 负责静态文件和反向代理。/twikoo/ 指向本机容器端口,外部只看见 HTTPS 路径,看不见内部服务。
VNDB 抓取脚本负责减少重复劳动。输入一个 v 开头的 ID,脚本生成 front matter、下载封面、转 WebP,然后把一篇评测草稿放进内容目录。
约束
视觉上只保留黑、白、灰和一个蓝色焦点。少用装饰,少做拟物,不让页面抢内容的风头。
动效也只做两件事:页面进入时轻微上浮,交互时给出明确反馈。它应该像呼吸,不应该像广告。