全部笔记

把技术笔记当作代码来维护

用内容集合约束元数据,用 Git 留下修改记录,让写作与发布保持简单。

技术笔记会随着项目一起变化。把内容与代码放在同一个仓库,可以让说明和实现同步修改,也便于回看一次决策发生的背景。

先约束最少的字段

一篇文章至少需要标题、摘要、日期和主题。Astro Content Collections 可以在构建时检查这些字段,而不是等读者打开页面时才发现错误。

schema: z.object({
  title: z.string(),
  description: z.string(),
  date: z.coerce.date(),
  tags: z.array(z.string()),
  draft: z.boolean().default(false),
})

字段应该服务于页面:摘要用于列表,主题用于筛选,日期用于排序。没有消费者的字段,先不增加。

写下边界与判断

只记录最终代码,容易丢失最重要的上下文。一个更容易复用的结构是:遇到了什么问题、有哪些约束、为什么选择这个方案、如何验证结果。

把适用范围写清楚也很重要。一个适合静态博客的方案,并不自动适合需要登录和事务处理的应用。

让草稿明确存在

草稿应通过 draft: true 从公开列表、文章路由与 RSS 中排除。仅仅不在首页展示文章,还不足以阻止它被直接访问。

发布前检查渲染后的代码块、链接、标题层级和手机阅读体验。Markdown 可读,并不代表最终页面一定可读。

保留简单的工作流

新增内容、预览、检查、提交、部署。随着文章增多,再考虑站内全文搜索或更复杂的分类系统。先让每一步可靠,比先拥有大量功能更有用。