MDX frontmatter 应该怎么设计才不会越写越乱
frontmatter 不是多填几个字段,而是给内容系统定义最小而稳定的结构。
发布于 2026-04-05更新于 2026-04-11约 3 分钟阅读
#内容系统#MDX#TypeScript
Tutorial Path
内容系统系列
当前位置:02 / 04
用最少但稳定的字段,承载列表、SEO、分类和分发需求。
frontmatter 是内容系统里最容易失控的部分。因为每次觉得还缺一点信息,就想再加一个字段。结果写到后面,字段越来越多,但真正被稳定使用的只有一部分,其余全成了维护负担。
frontmatter 不应该承载正文语义
我的原则是:frontmatter 只负责结构化信息,绝不负责正文逻辑。标题、摘要、日期、更新时间、分类、标签、发布状态,这些都适合放在 frontmatter;而真正的步骤、对比、解释和示例,应该留在正文里。
这样做的好处是,列表页、搜索、RSS、SEO、卡片组件都能稳定消费这些字段,而不会和正文表达混在一起。
不同内容类型要有不同 schema
博客、项目、笔记虽然都用 MDX,但它们的结构并不完全一样。博客强调发布时间和摘要,项目强调结果和状态,笔记则可以更轻量。所以真正靠谱的做法,不是一套万能 schema,而是三套各自清晰的 schema。
少字段,强约束
我更喜欢让字段数量保持克制,同时让必填字段更明确。因为字段太多会直接提高写作门槛,最后导致你要么敷衍填写,要么干脆不写。而字段少但规则稳,反而会提升长期一致性。
配套笔记:MDX frontmatter 检查清单如果你要实际写自己的内容,可以把这份清单当成 frontmatter 最小验收表。小结
frontmatter 设计的关键,不是“尽可能全”,而是“足够支撑系统能力,又不会拖累写作”。下一篇我们继续往前一步:分类和标签应该怎么统一治理,才能让内容越写越清楚,而不是越写越散。