# 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 兼容下限或渲染行为就能导入主题。

---

LLMS 索引： [llms.txt](/zh/llms.txt)

---

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

**v0\.8\.2 · 2026-08-29**
- [查看发布](https://github.com/pgsty/oink/releases/tag/v0.8.2)
- [源码 · tar\.gz](https://github.com/pgsty/oink/archive/refs/tags/v0.8.2.tar.gz)
- [源码 · zip](https://github.com/pgsty/oink/archive/refs/tags/v0.8.2.zip)
- [pgsty\/oink](https://github.com/pgsty/oink)

## 概览 {#at-a-glance}

- 主题模块现在声明 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
  只改变模块准入条件。

## 为什么需要这个补丁 {#why}

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。渲染表面保持
逐字节一致；变化的只有允许模块进入构建器的兼容性门禁。

## 兼容性 {#compatibility}

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

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

## 升级 {#upgrade}

```bash
hugo mod get github.com/pgsty/oink@v0.8.2
hugo mod tidy
```

提交 `go.mod` 与 `go.sum`，再执行 warning 即失败的生产构建。完整变更见
[CHANGELOG.md](https://github.com/pgsty/oink/blob/main/CHANGELOG.md)。
