OINK 0.8.1:稳定的 Print 锚点、不被标题挤压的 Book 编号与完整发布材料
OINK 0.8.1 收口了两个小而具体的渲染问题,并让项目的公开展示与 0.8.0 已经交付的框架能力保持一致。它没有修改组件 API、配置键、内容语法或兼容性下限。 现有 0.8.0 站点只需升级模块固定版本,不需要迁移内容。
概览
- 一个页面单独渲染为 Print 时,现在与普通页面保持完全相同的标题和脚注 ID。 分区与整书 Print 仍会给这些页面局部 ID 增加命名空间,因为多个源页面共享 同一份聚合文档。
- Book 侧栏编号现在是宽度固定的原子单元。长标题可以换行,但不能再压缩、裁切或 拆开旁边的编号。
- 持续集成对主题、出版、站点与浏览器检查统一使用固定的 Hugo Extended 0.165.0。 Hugo Extended 0.160.1 仍是向消费站点声明的兼容性下限。
- 项目 README 现在把 OINK Starter 放在第一条路径,记录能力与兼容边界、代表性生产站点, 也明确说明 OINK 为何是独立主题,而不是 Docsy 换皮。
- 新的 3:2 Hugo Themes 展示图、更完整的主题元数据与明确的 Docsy 归属补齐了提交材料, 且不会给消费站点增加页面资源。
Print ID 应与当前输出表面一致
普通 HTML 中的标题与脚注 ID 是页面局部事实。在 0.8.1 之前,同一页单独渲染为 Print 时, 也被加上了只应用于聚合文档的前缀。于是在普通页面上有效的 URL fragment,在单页 Print 中不再指向对应元素。
现在的规则是:
| 输出 | 标题与脚注 ID |
|---|---|
| 普通 HTML 页面 | 作者明确编写或 Goldmark 生成的页面局部 ID |
| 单页 Print | 与普通 HTML 完全相同的页面局部 ID |
| 多页分区 Print | 给页面局部 ID 增加源页面命名空间 |
| 整书 Print | 给页面局部 ID 增加源页面命名空间 |
图、表、公式和示例等显式 Book 目标仍然稳定。聚合输出仍会把跨页链接改写到加了命名
空间的标题和脚注目标,避免两个章节同时带有 #overview 或 fn:1 时在一份文档中生成
重复 ID。
长标题旁的 Book 编号保持可读
Book 侧栏使用一个编号单元和一个标题单元。以前编号可能继承长标题的压缩与溢出行为, 在窄屏下被裁切或拆行。现在编号不会收缩,且保持为一个整体;只有标题换行。这是一项 纯 CSS 修正,不改变 Book 编号或导航顺序。
从更清晰的起点进入 OINK
现在推荐从小而中性的
pgsty/oink-starter 模板开始,而不是克隆文档回归站。
它内置中性的 Docs、Blog 与 Book 内容、三种语言 profile,以及 warning 即失败的
GitHub Pages 与 Cloudflare Pages workflow,不包含 OINK 自己的分析、评论、测试框架或品牌。
新的 Starter 教程 依次处理身份、语言、首页数据、内容与导航、品牌、 集成、严格构建和部署。现有 Hugo 站点仍可以使用更小的 从零开始模块路径。
升级
提交 go.mod 与 go.sum,再执行站点的 warning 即失败生产构建。不需要迁移内容或配置。
完整变更见 CHANGELOG.md。
