2026-05-13
今天主要做了两件事:重构仓库结构和搭建 Astro 站点。
仓库重构:7 → 3
原来的 7 个目录(plans/journal/notes/problems/projects/reflections/resources)合并为 3 个:
actions/— 大行动 + 小行动,自包含笔记、踩坑、复盘journal/— 每日记录resources/— 参考资料
想法是 plans 本身就包含了 problems 和 projects 的功能,不如合成一个 actions/,每个行动文档自包含完整的学习过程。
搭建 Astro 站点
用 Astro 6 + marked 搭了一个静态站点,可以浏览行动列表和日记。中间尝试了 Keystatic 做 CMS,但 Astro 6 兼容性太差,放弃了。最终方案:
- Astro 读取根目录
.md文件,用 marked 渲染 - UI 参考滴答清单,侧边栏导航 + 主内容区
Obsidian Vault 工作流
建了 design-driven-dev-vault/ 作为编辑区(gitignored),工作流:
- Obsidian 中用 wiki-link 编辑
- 同步到根目录时自动转为 markdown link
- Astro 构建静态站点
这样就不需要 CMS 了,Obsidian 就是编辑器。
首页重设计
给站点做了一个像样的首页:
- Hero 区域:项目名 + 标语 + 简介 + 统计数字(行动数、日志数、活跃天数)
- 热力图:纯 SVG 实现,暖色 amber 配色,显示过去一年的活跃日。数据来自 journal 文件名,构建时生成,无外部依赖
- 两栏概览:左侧行动列表(进行中 + 全部),右侧最近日志
- 侧边栏加了「首页」导航项
部署到了 Vercel,站点终于可以在网络上访问了:design-driven-dev.vercel.app
感受
折腾 Keystatic 花了不少时间,版本兼容问题反复出现。最后回归最简单的方案——直接读 .md 文件——反而最稳定。有时候"简单"就是最好的架构决策。