OINK 1.5.1 — 双列视图修复与发布输出正确性
OINK 1.5.1 是继 1.5.0 之后的维护版本,发布了双语阅读器上线后积累的审查修正:阅读器统一改名为
Duo View(双列视图),加载和同步状态更清晰,静态输出也重新守住各自的格式边界。同时修正
导航标识、安全回退、搜索排序、无障碍与本地化细节。已有的 params.ui.compare 与
compare_translations 配置保持有效,无需迁移内容。
Duo View(双列视图)
双栏译文阅读器在英文界面统一使用 Duo View,32 套界面语言目录也各自使用对应的本地化名称。
页面入口、命令面板动作、标题、键盘帮助和状态提示统一采用新术语;params.ui.compare 参数和
compare_translations 动作 ID 不变。开启键盘导航后,按 B 可在页面与阅读器之间切换,
在任一窗格中也同样有效。
阅读器会把 iframe 初始的 about:blank load 视为等待状态;文档 15 秒后仍为空白时,显示本地化的
「重试」入口与直达链接。窗格只要完成正文解析就可以阅读,缓慢图片不会让本来可读的页面被丢弃。
页内片段链接会展开隐藏的标签页面板,OINK 标签页切换后会重新测量同步位置。博客归档的第二页及
之后的页面,以及不输出 HTML 的译文,不再作为目标页面提供。
「同步滚动」现在是带标签的开关。橙色提示会区分部分标题匹配与按全文进度同步,并且只有标题确实 不一致时才显示。连续触控板滚动时,跟随窗格会保持同步;允许动态效果时,离散跳转仍使用平滑过渡。 最后选择的目标语言、同步设置、可见窗格以及两侧阅读位置会在刷新和历史记录恢复后保留。从已关闭的 语言菜单按 Escape 关闭阅读器时,焦点会回到打开它的元素。
发布与输出正确性
RSS 渲染会保持页面摘要所处的 RSS 格式状态,在应用 feed 数量限制前先排序,省略没有日期条目的
pubDate,并输出不带浏览器控件或原始 Markdown 的静态组件 HTML。博客归档分页及 prev/next
链接只用于 HTML,因此 Print 只生成一份完整聚合文档,不会按每个归档页重复正文。
嵌套 shortcode 与 Markdown 组件会用完整祖先序号为自动 ID 加入作用域;Landing 链接共用 URL 安全策略, 不安全链接会直接丢弃。无论是否带语言和部署前缀,导航 JSON 与分区索引都保持稳定;版本页面链接不再 重复当前部署目录。Markdown、LLMS、Print、RSS、强制颜色模式导航、RTL 排版与打印链接继续遵守各自的 静态输出和无障碍契约。
创作与验证
位置参数短代码、无效 Book 编号、缺失的 manual-link 引用和格式错误的 Landing 记录不会再让普通构建
失效;每种情况都会给出告警并采用文档规定的安全回退。搜索会在不跨越字段层级的前提下,把最强字段中
重复出现的词排在同字段中偶然出现的词之前,top_k 等技术标识符也能保持合理排序。页面描述改为读取
.Description,避免在新版 Hugo 中继续使用已弃用的 .Params.description 路径。
本版本使用固定的 Hugo Extended 0.168.0 与 Go 1.27.3 工具链验收:主题 49 项检查、文档站 67 项检查和 浏览器 519 项检查全部通过,其中包含八种语言的对照覆盖,以及 RSS、Print 和窗格请求挂起回归的复现验证。
升级
将公开模块固定到 v1.5.1,继续使用 Hugo 内置的 LibSass 编译器:
提交生成的 go.mod 与 go.sum。已有的 Duo View 配置可以继续使用;如果站点使用 vendor 主题副本或
Git submodule,请参阅升级指南。保留上游 LibSass 弃用告警并进行审阅,不要启用
--panicOnWarning 或 HUGO_PANICONWARNING。
