跳转到主要内容

OINK 0.8.2:面向 Hugo Themes 构建器的 Go 1.26 模块兼容性

OINK 0.8.2 把 Hugo Module 的 Go directive 从 1.27 降到 1.26,使包括 Hugo 官方主题流水线在内、使用 GOTOOLCHAIN=local 的构建器无需改变 Hugo 兼容下限或渲染行为就能导入主题。

OINK 0.8.2 是一次模块元数据兼容性发布。它不修改模板、资产、组件 API、配置键、 内容语法或任何渲染输出。已经使用 0.8.1 的站点不需要迁移内容。

概览

  • 主题模块现在声明 Go 1.26,而不是 Go 1.27。
  • Hugo 官方主题构建器可以在固定的 Go 1.26 与 GOTOOLCHAIN=local 环境中导入 OINK。
  • Hugo Extended 0.160.1 仍是公开兼容下限;OINK Starter 继续使用 Hugo Extended 0.165.0 构建。
  • OINK 不包含 Go 源码,也没有使用 Go 1.27 的语言或模块特性,因此降低 directive 只改变模块准入条件。

为什么需要这个补丁

OINK 0.8.1 使用 Go 1.27 构建和测试,因此 go.mod 声明了 go 1.27.0。但这个仓库 是由模板和资产组成的 Hugo Module,并不是 Go 软件包。Hugo 官方主题流水线使用 Go 1.26,而且禁用自动工具链切换,因此会在读取主题元数据之前正确拒绝更高的 directive。

OINK 0.8.2 声明当前发布流程真正需要的最低 Go 工具链:Go 1.26。渲染表面保持 逐字节一致;变化的只有允许模块进入构建器的兼容性门禁。

兼容性

依赖 OINK 0.8.2 要求
Hugo Extended 0.160.1 或更新版本
用于解析 Hugo Module 的 Go 1.26 或更新版本
Node.js 不需要

离线归档或 Git submodule 安装不要求 Go,因为它们不需要 Hugo 解析模块。

升级

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

提交 go.modgo.sum,再执行 warning 即失败的生产构建。完整变更见 CHANGELOG.md