跳转到主要内容

OINK 0.8.1:稳定的 Print 锚点、不被标题挤压的 Book 编号与完整发布材料

OINK 0.8.1 是一次范围明确的维护版本:单页 Print 与普通 HTML 保持相同的标题与脚注锚点,过长的 Book 标题不再挤压侧栏编号,项目公开入口也改为从 OINK Starter 引导新站点。

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 归属补齐了提交材料, 且不会给消费站点增加页面资源。

普通 HTML 中的标题与脚注 ID 是页面局部事实。在 0.8.1 之前,同一页单独渲染为 Print 时, 也被加上了只应用于聚合文档的前缀。于是在普通页面上有效的 URL fragment,在单页 Print 中不再指向对应元素。

现在的规则是:

输出 标题与脚注 ID
普通 HTML 页面 作者明确编写或 Goldmark 生成的页面局部 ID
单页 Print 与普通 HTML 完全相同的页面局部 ID
多页分区 Print 给页面局部 ID 增加源页面命名空间
整书 Print 给页面局部 ID 增加源页面命名空间

图、表、公式和示例等显式 Book 目标仍然稳定。聚合输出仍会把跨页链接改写到加了命名 空间的标题和脚注目标,避免两个章节同时带有 #overviewfn:1 时在一份文档中生成 重复 ID。

长标题旁的 Book 编号保持可读

Book 侧栏使用一个编号单元和一个标题单元。以前编号可能继承长标题的压缩与溢出行为, 在窄屏下被裁切或拆行。现在编号不会收缩,且保持为一个整体;只有标题换行。这是一项 纯 CSS 修正,不改变 Book 编号或导航顺序。

从更清晰的起点进入 OINK

现在推荐从小而中性的 pgsty/oink-starter 模板开始,而不是克隆文档回归站。 它内置中性的 Docs、Blog 与 Book 内容、三种语言 profile,以及 warning 即失败的 GitHub Pages 与 Cloudflare Pages workflow,不包含 OINK 自己的分析、评论、测试框架或品牌。

新的 Starter 教程 依次处理身份、语言、首页数据、内容与导航、品牌、 集成、严格构建和部署。现有 Hugo 站点仍可以使用更小的 从零开始模块路径

升级

hugo mod get github.com/pgsty/[email protected]
hugo mod tidy

提交 go.modgo.sum,再执行站点的 warning 即失败生产构建。不需要迁移内容或配置。 完整变更见 CHANGELOG.md