跳转到主要内容

消费站与迁移证据

塑造 OINK 外壳、创作原语与确定性 Book 迁移策略的定期语料快照。
带日期的语料快照

这些计数描述 2026 年 8 月被检查的仓库。它们是设计选择的证据,不是实时产品指标或兼容承诺。

语料

创作语料盘点扫描了十一个 OINK 消费站点的 content/ 树:共 5,325 个 Markdown 文件,其中 5,293 个带 YAML front matter。样本同时包含单语言英文与中文参考站、双语产品站、发布归档、 自定义落地页,以及独立的 Book 消费站。

盘点刻意测量源码 Markdown,而不是生成后的 HTML。统计项包括 shortcode 调用、代码围栏属性、 callout、表格 marker、原始 HTML、front matter 键、内容类型与站点自有 layout。随后针对五个 长篇内容消费者又做了一轮 Book 专项盘点。

改变设计的结论

证据 形成的选择
内容从近乎纯 Markdown 到大量嵌套组件同时存在 原生 Markdown 是默认形态;只有明确能力缺口才保留全量形态
文档、Blog、Landing、发布与书籍反复在站点侧重做导航或卡片 延长共享外壳、注册表和内容原语,不增加并行系统
站点自有表格 class 很常见,匹配 canonical Fields 表头的表格却很少 钩子属性使用白名单,但保留文档明确的站点 class 扩展点;不能从任意二列表格猜测 Fields
Book 站各自拥有图、表、公式、示例和交叉引用约定 编号原语与迁移 profile 必须确定性分类、保留稳定 ID,并验证渲染目标
站点同时存在单语言、对页双语和生成式语言内容 必须明确语言权威与生成边界;迁移不能把未跟踪的生成树当作源码
富 HTML 页面仍要提供 Print、Markdown、订阅源和 Agent 输出 接受交互 HTML 之前,每个组件先声明所有输出中的降级行为

证据也否决了若干看起来诱人的新增项:文档站不足以支撑第二套 Landing 系统;Book 站不需要新封面 组件;连载归档不值得增加独立 shell type;远程 API 采集属于站点侧 CI,而不是承诺本地构建的 Hugo 主题。

块与表格证据

针对十一个站点与 Book 消费者的专项盘点共发现 11,484 张 pipe table。只有 11 张已经匹配严格的 Fields 表头词汇,约 874 张属于参考型表格,约 1,300 张属于兼容矩阵。因此 OINK 采用显式 .fields.matrix marker,不按表格形状猜测语义。

同一轮盘点在十一个站点中发现 18 个 Steps 块,它们都使用带标题和富内容的全量形态。平台探针表明, 原生有序列表可以承载其中大多数内容,却不能在列表项内安全容纳另一个全量 % 容器。因此 OINK 保留 两种形态是为了技术能力边界,而不只是书写偏好。

确定性 Book 迁移

三个带日期的干跑 profile 用于证明迁移规则能解释每个被识别的来源,而不编造语义:

Profile 快照 分类结果 人工边界
DDIA v2 106 张图、3 张表、22 个代码示例,相关 304 条链接全部入账 1 条题注链接降级为可见文本,无未解释跳过项
DDIA v1 90 张编号图与 203 条匹配引用 14 张装饰性或无编号图片刻意不处理
TPME 31 张图、10 张表、44 条编号引用与 1,018 条通用稳定引用 被识别项目零跳过
私有 Book profile 119 张图、5 张表与 136 条编号引用 3 张歧义图片保留人工复核

每个 profile 都先干跑,只在歧义边界明确后写入;第二次执行变更数为零;随后以警告即失败的模式 构建,并通过渲染后的 kind、编号和锚点检查。公开迁移工具与当前 profile 边界见 创作书籍迁移契约

边界

这些数字不能直接用于产品宣传,也不能当作当前站点清单。重做研究时,需要重新确定仓库清单并生成 新的带日期报告。本公开记录刻意排除了本机路径、未提交内容、私有仓库名称、原始 Agent 对话与生成 构建产物。