内容系统
博客文章、产品文档和读者数据如何保持清晰分工。
三条明确边界
| 区域 | 源头 | 何时上线 |
|---|---|---|
博客(/blog) | content/posts/*.mdx | 部署代码后 |
文档(/docs) | apps/web/content/docs/*.md | 部署代码后 |
| 读者数据 | Cloudflare D1 | 运行时立即写入 |
文章和文档都由仓库管理,但导航与展示不同,所以使用两个内容集合。D1 不是内容系统,只保存读者或运行过程产生的状态。
这样设计的原因
- 每篇文章只有一份长期副本
- 可以正常 code review 和回滚
- 不需要 MDX 与 CMS 同步
- 文件变更后不会留下过期的数据库文章
- 评论通过稳定
slug关联文章,部署时不会丢失
如果确实要改已发布文章的 slug,同一版本里还要安排评论 post_slug 的数据迁移。