跳转到主要内容

OINK 1.3.0 — Expo 图片相册

Expo 为 OINK 带来基于页面资源的图片相册、三种布局和原图查看器,并修复导航、对话框与焦点行为。

OINK 1.3.0 新增 Expo,与 Docs、Blog、Book 并列。一册相册就是一个 Hugo 叶子页面包:index.md 和同目录的图片。资源元数据提供标题、图注、署名、顺序和稳定图片链接,无需为每张图片单独创建网页或 YAML 文件。

OINK 1.3.0 以 Hugo Extended 0.166.0 作为最低版本,以及开发、CI 与发布测试的 统一基线。模块声明 Go 1.27.0。

主要变化

  • Expo 相册共用 OINK 侧栏、导航和外观控件。
  • 展墙、卡片、无缝三种布局,保留布局和图片大小偏好。
  • 原图查看器提供适合窗口、有限扩展、缩放、拖动与稳定位置链接。
  • GIF 播放和暂停控件,遵守减少动态效果的系统设置。
  • 显式导航作用域、基于内容身份的当前路径,以及更可靠的模态焦点。
  • 可靠的 Landing 代码控件与 RSS,以及正文完整的聚合打印输出。
  • 支持模块、vendor 与传统主题站点的消费站升级工具。

创建相册

content/photos/
├── _index.md
└── field-notes/
    ├── index.md
    └── images/
        ├── fern.jpg
        └── river.gif

在分区入口设置 type: expo 和 cascade: {type: expo}。图片会自动出现;需要标题、图注、署名、固定顺序或显式 ID 时,再补充 Hugo resources 元数据。预览与原图可以保存在同一个页面包中。

阅读 Expo 创作指南,或打开示例相册。正文里的小型图片网格继续使用 Gallery 组件。

查看与导航

查看器以原始尺寸打开图片,并限制在视口内。适合窗口、扩展、缩放和拖动支持观察细节。左右方向键或 Q/E 切换图片,K/J 缩放,R 复位,F 切换扩展。触屏支持轻扫和双击。关闭后,焦点回到原图片;打开另一界面时,焦点移交给新界面。

Expo 在 Print、Markdown、LLMSFULL 和 RSS 中保留图片与元数据。JavaScript 不可用时,图片链接仍能打开原图。

阅读与交互修复

显式 Docs、Book 导航按内容身份选择分支,支持自定义 URL 和嵌套根,不再影响以首页为根的导航或其他外壳。未缓存侧栏能正确标记当前页,并展开其内容祖先。

Draw.io 使用原生模态窗口,提供本地化关闭按钮、遮罩关闭、监听器清理和焦点恢复。进入跨域编辑器后,仍有可通过键盘到达的外层关闭入口。编辑按钮进入 Safari 的 Tab 顺序。已关闭的外观面板不会在协调关闭时夺取焦点。

Book 页内标题按所属导航行缩进。宽屏大纲在有限范围内伸展,调整窗口时立即跟随,同时保留折叠动画。

本版本还修复了通用属性公式、缺失引用与空标签页回退、Expo 元数据与切图预览、 键盘焦点和配置 Schema。具体行为见双语 Design 契约。

Landing 与打印修复

Landing Markdown 代码块使用独立 ID 和共享正文样式。即使页面包含重复区块, 复制与展开控件也只操作对应代码块。配置的 RSS 输出会生成完整订阅文档。 默认 404 页面不会因根级 cascade 继承阅读类型而显示无效的侧栏抽屉入口。

聚合打印将编码后的标题链接保留在各自章节内,覆盖 Tabs 中生成的标题。 生成的标签页 ID 按章节隔离,相对链接按原页面解析,发布目录包含完整版本正文, 并加载所收录子页面需要的数学样式。宽表格在浏览器打印预览中支持键盘滚动, 在纸张输出中展开。

手写 HTML ID 默认保持全局含义。如果某个元素的 ID 与本地链接应在聚合打印中 加上章节前缀,为该元素添加布尔属性 data-td-print-local。普通页面与单页打印 继续保留原有锚点。

升级

已有 Docs、Blog、Book 内容无需批量迁移。Expo 通过 type: expo 显式启用。提供四套读者风格的站点继续使用 params.ui.preset: paper 和显式 [paper, slate, ink, terminal] 菜单。

将 Hugo 与 workflow 固定版本更新到 Extended 0.166.0,然后选定精确的发布版本。 检查公开模块时,关闭本地替换与两种工作区:

env -u HUGO_MODULE_REPLACEMENTS GOWORK=off HUGO_MODULE_WORKSPACE=off \
  hugo mod get github.com/pgsty/[email protected]
env -u HUGO_MODULE_REPLACEMENTS GOWORK=off HUGO_MODULE_WORKSPACE=off \
  hugo --environment production --minify --panicOnWarning

实际使用的 vendor 快照与传统 themes/oink 副本需要单独更新;修改 go.mod 不会更新它们。保留站点自己的内容与模板覆盖,再检查导航、读者菜单、打印和自定义 首页。具体步骤见升级指南。

验收

本次发布工作在 ~/www 与 ~/pgsty 下的 36 个维护站点上检查了开发与生产配置。 已审阅源码通过严格构建、生成 HTML 的链接与 ID 检查、浏览器交互,以及文档站 回归套件。最后的打印修复在 Chromium、Firefox 和 WebKit 中另有定向测试。 历史第三方静态 HTML 与 OINK 输出单独记录。这些检查证明受测源码的行为; 各消费站的部署仍需单独验收。