# OINK 1.5.1 — 双列视图修复与发布输出正确性

> 稳定双列视图，修正 RSS 与 Print 输出，并强化 1.5.0 审查后的导航、校验、搜索与无障碍行为。

---

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

---

OINK 1.5.1 是继 1.5.0 之后的维护版本，发布了双语阅读器上线后积累的审查修正：阅读器统一改名为
**Duo View（双列视图）**，加载和同步状态更清晰，静态输出也重新守住各自的格式边界。同时修正
导航标识、安全回退、搜索排序、无障碍与本地化细节。已有的 `params.ui.compare` 与
`compare_translations` 配置保持有效，无需迁移内容。

**v1\.5\.1 · 2026-11-06**
- [查看发布](https://github.com/pgsty/oink/releases/tag/v1.5.1)
- [源码 · tar\.gz](https://github.com/pgsty/oink/archive/refs/tags/v1.5.1.tar.gz)
- [源码 · zip](https://github.com/pgsty/oink/archive/refs/tags/v1.5.1.zip)
- [pgsty\/oink](https://github.com/pgsty/oink)

## Duo View（双列视图） {#duo-view}

双栏译文阅读器在英文界面统一使用 **Duo View**，32 套界面语言目录也各自使用对应的本地化名称。
页面入口、命令面板动作、标题、键盘帮助和状态提示统一采用新术语；`params.ui.compare` 参数和
`compare_translations` 动作 ID 不变。开启键盘导航后，按 B 可在页面与阅读器之间切换，
在任一窗格中也同样有效。

阅读器会把 iframe 初始的 `about:blank` load 视为等待状态；文档 15 秒后仍为空白时，显示本地化的
「重试」入口与直达链接。窗格只要完成正文解析就可以阅读，缓慢图片不会让本来可读的页面被丢弃。
页内片段链接会展开隐藏的标签页面板，OINK 标签页切换后会重新测量同步位置。博客归档的第二页及
之后的页面，以及不输出 HTML 的译文，不再作为目标页面提供。

「同步滚动」现在是带标签的开关。橙色提示会区分部分标题匹配与按全文进度同步，并且只有标题确实
不一致时才显示。连续触控板滚动时，跟随窗格会保持同步；允许动态效果时，离散跳转仍使用平滑过渡。
最后选择的目标语言、同步设置、可见窗格以及两侧阅读位置会在刷新和历史记录恢复后保留。从已关闭的
语言菜单按 Escape 关闭阅读器时，焦点会回到打开它的元素。

## 发布与输出正确性 {#publishing}

RSS 渲染会保持页面摘要所处的 RSS 格式状态，在应用 feed 数量限制前先排序，省略没有日期条目的
`pubDate`，并输出不带浏览器控件或原始 Markdown 的静态组件 HTML。博客归档分页及 `prev`/`next`
链接只用于 HTML，因此 Print 只生成一份完整聚合文档，不会按每个归档页重复正文。

嵌套 shortcode 与 Markdown 组件会用完整祖先序号为自动 ID 加入作用域；Landing 链接共用 URL 安全策略，
不安全链接会直接丢弃。无论是否带语言和部署前缀，导航 JSON 与分区索引都保持稳定；版本页面链接不再
重复当前部署目录。Markdown、LLMS、Print、RSS、强制颜色模式导航、RTL 排版与打印链接继续遵守各自的
静态输出和无障碍契约。

## 创作与验证 {#authoring-validation}

位置参数短代码、无效 Book 编号、缺失的 manual-link 引用和格式错误的 Landing 记录不会再让普通构建
失效；每种情况都会给出告警并采用文档规定的安全回退。搜索会在不跨越字段层级的前提下，把最强字段中
重复出现的词排在同字段中偶然出现的词之前，`top_k` 等技术标识符也能保持合理排序。页面描述改为读取
`.Description`，避免在新版 Hugo 中继续使用已弃用的 `.Params.description` 路径。

本版本使用固定的 Hugo Extended 0.168.0 与 Go 1.27.3 工具链验收：主题 49 项检查、文档站 67 项检查和
浏览器 519 项检查全部通过，其中包含八种语言的对照覆盖，以及 RSS、Print 和窗格请求挂起回归的复现验证。

## 升级 {#upgrade}

将公开模块固定到 `v1.5.1`，继续使用 Hugo 内置的 LibSass 编译器：

```sh
hugo mod get github.com/pgsty/oink@v1.5.1
hugo mod tidy
hugo --environment production --minify --printPathWarnings
```

提交生成的 `go.mod` 与 `go.sum`。已有的 Duo View 配置可以继续使用；如果站点使用 vendor 主题副本或
Git submodule，请参阅[升级指南](/zh/docs/admin/upgrade/)。保留上游 LibSass 弃用告警并进行审阅，不要启用
`--panicOnWarning` 或 `HUGO_PANICONWARNING`。

---

反链：

- [发布](/zh/blog/release/)
- [文档](/zh/docs/)
- [简介](/zh/docs/about/)
- [参与贡献](/zh/docs/about/contributing/)
- [版本升级](/zh/docs/admin/upgrade/)
