Markdown 的自由度很高,但自由也意味着容易失去秩序。文章一多,日期格式、标签命名和摘要字段很容易变得不一致。
Astro 的内容集合可以在构建时验证每一篇文章的元数据。
一份最小文章结构
---
title: 一篇中文文章
pubDatetime: 2026-07-06T09:30:00+08:00
tags:
- Astro
- 内容工程
description: 用一句话说明这篇文章解决什么问题。
draft: false
---
这些字段会经过 Zod Schema 校验。如果日期写错、标题缺失或标签不是数组,构建会直接失败,而不是把错误带到线上。
文件夹就是内容边界
当前项目只把 src/content/posts/zh/ 下的文件纳入正式构建。官方英文示例仍然保留在源码中,方便查阅主题能力,但不会出现在文章列表、搜索结果或 RSS 中。
这种做法比批量删除示例更安全,也让“参考内容”和“正式内容”的边界非常清楚。
草稿不会意外发布
设置 draft: true 后,文章不会出现在生产构建中。开发模式仍然可以预览非草稿文章,未来还可以增加专门的草稿预览命令。
内容系统真正的价值,不是让写作变复杂,而是让低级错误更早暴露。