画廊
gallery 围栏把一组相关截图排成响应式网格,每张可带说明或链接,并复用页面的图片缩放对话框。画廊(Gallery)把一组相关图片排成响应式网格,围栏里每行一张图。适用于同一件事的几个视图:几张截图、几种状态、几套配色。单张图用图片;相互之间没有顺序与对比关系的图片不适合放进同一个画廊。
最简例子
围栏里一行一张图,语法是 Markdown 的 。
替代文字必须写:它是这一项的标题、读屏器唯一能读到的文字,也决定这张图是否参与缩放。列数没有参数,网格随容器宽度自适应,窄屏减列。
加说明
图片后面用 # 起头写说明,显示在图下方。说明是纯文本,里面的 Markdown 按字面显示;要一个字面井号写 \#。

默认外壳:侧栏、正文、目录

OINK 的上游 Docsy,内容模型一脉相承

发布页由 data/download 里的事实生成,不联网
说明长短可以不一致:网格按最高的一项对齐,说明换行不影响相邻的图。图片先被解析,替代文字与路径里的 # 不需要转义。
每项一个链接
行尾的 {link=…} 让这一项成为链接,站内路径、相对路径、http(s): 都可以。
带链接的项不参与缩放,点击已有别的含义。同一个画廊里两种项可以混排:有链接的打开页面,没有链接的打开大图。
图片来源
来源解析顺序与普通图片一致:页面资源(页面包里的同目录文件)→ 全局资源 assets/ → 静态路径 /images/… → 远程 URL。本地资源带上固有尺寸,加载时不跳版;远程图构建期不下载,也取不到尺寸。

assets/images/… 下的图,可以做构建期处理

static/images/… 下的图,原样发布
页面资源与全局资源找不到时构建失败;静态路径与远程 URL 不检查存在性。
装饰图与缩放
替代文字留空表示这是装饰性图片:没有标题,读屏器跳过,也不参与缩放。
图片缩放是站点级开关,默认关闭。本页在 front matter 中开启了它,上面每张有替代文字、没有链接的图都可以点开看大图(Esc 关闭,焦点回到原处)。

装饰性配图,不参与缩放

有替代文字,可以点开
画廊没有自己的缩放运行时,复用整页共用的那个对话框。页面上没有可缩放的图时,运行时不加载。细节见图片 · 缩放。
加 class 与分标签页
class 可以加在整个围栏上(写在语言后面)或某一项上(行尾),主题不解释它,原样透传给站点 CSS。围栏带 tab=(以及 group= value=)时成为一组标签页里的一页。

默认配色

跟随系统或手动切换
输出形态
| 输出 | 呈现 |
|---|---|
| HTML | <ul class="td-gallery">,每项一个 <li>;符合条件的图带 data-td-image-zoom 标记;全部懒加载 |
| 打印 | 同一组图堆叠排列,没有缩放标记 |
| Markdown | 原样输出 gallery 围栏 |
| RSS | 与打印相同的静态堆叠 |
画廊不加载 JavaScript。
参数参考
行语法  [# 说明] [{key=value …}]:
围栏属性:
没有 columns、caption、title 属性。行首不是图片、# 之外的尾随文字、空说明、未知属性、格式错误的 {…} 都会让构建失败,报错给出围栏内的行号。
限制与常见问题
- 只有围栏一种形态:没有
{.gallery}列表标记,也没有 shortcode。代价是源码在 GitHub 上不渲染成图片,收益是四态输出与缩放资格由主题保证。 - 不能指定列数,也不裁成统一宽高比:网格按视口自适应,图片按原始比例排列。
- 没有幻灯片、轮播与上一张 / 下一张:缩放对话框一次显示一张。
- 不下载远程图:构建期没有网络请求,远程图在浏览器加载前尺寸未知,可能跳版。
- 说明不解析 Markdown:需要富文本时写在画廊下方的段落里。