M5 详细设计:站点治理页与校验流程设计
这份详细设计文档用于描述 M5 的核心设计:如何在不改变站点“生成优先”主架构的前提下,为知识库增加质量巡检、治理总览和 CI 校验能力。
设计目标
M5 的设计目标有三点:
- 质量问题可被自动发现
- 质量问题可在站内被看见
- 构建与巡检可被本地和 CI 复用
一、质量巡检数据设计
1.1 巡检对象
巡检对象仍然是仓库中的原始 Markdown 文件,而不是 docs-site 生成结果。
原因:
- 原始文件才是真正需要治理的内容源
- 生成目录会被反复覆盖,不适合作为质量来源
- 标题、资源链接、空文件等问题都应在源文件层识别
1.2 巡检维度
本轮巡检聚焦下面几类高价值问题:
- Markdown 总量
- 强制占位页与空文件数量
- 缺少一级标题的文档
- 本地资源缺失链接
- 重复标题
- 文件名尾部空格
1.3 数据产物
巡检结果输出为两份:
docs-site/.vitepress/generated/quality-report.json站点治理/index.md
前者用于程序校验与脚本复用,后者用于站内展示。
二、站点治理页设计
2.1 页面定位
站点治理页是一个面向维护者的站内总览页,不强调读者浏览深度,而强调:
- 现在有哪些质量问题
- 问题数量大概多少
- 从哪里开始治理更划算
2.2 页面结构
页面结构分为:
- 巡检概览统计
- 重复标题关注项
- 缺少一级标题文档
- 缺失资源引用
- 治理建议
2.3 展示方式
继续复用 M4 已引入的:
SiteStatGridSiteDataGrid
不新增新的复杂组件,避免治理页单独演化出一套 UI 体系。
三、本地校验命令设计
3.1 命令职责
docs:check 负责:
- 执行构建
- 确认关键产物存在
- 确认治理报告生成
- 输出巡检摘要
3.2 校验范围
至少校验:
index.htmlrobots.txtsitemap.xmlquality-report.json内容导航/页面专题导航/页面站点治理/页面- 示例专题详情页
四、CI 设计
4.1 新工作流定位
新增 docs-check.yml,仅负责构建与校验,不负责部署。
这样可以把:
- 质量校验
- 发布部署
拆成两条职责明确的工作流。
4.2 触发策略
本轮先采用保守策略:
- PR 到
master - push 到
dev-vitepress - push 到
master - 手工触发
五、自测设计
本轮至少执行:
npm run docs:syncnpm run buildnpm run docs:checknpm run preview -- --port 4173- 校验首页、内容导航、专题导航、站点治理页访问状态
