嵌套作用域
一张图只属于离它最近的那个容器:列表项、表格单元格、callout,最后才是正文。容器不同,插件能做的事情也不同。
列表:同项可并排,绝不跨项

markdown
- 同一条目里的两张图可以并排:


- 换一条目就是新的一行:
列表里的单图默认靠左、按块布局,不浮动;也不提供画廊手柄;项目符号会让「行」的边界变得含糊。跨条目的图片永远不会并排,哪怕源码里紧挨着。
表格:只认裁剪与排除
表格单元格的宽度由表格决定,插件没有调整空间,因此只保留两个参数:
| 参数 | 是否生效 | 说明 |
|---|---|---|
ag:crop / ag:top | 是 | 用 object-view-box 实现,旧内核退回 object-fit |
ag:exclude | 是 | 完全交回 Obsidian |
ag:width / ag:side | 否 | 宽度由列宽决定 |
写法上有一处必须注意:表格里的竖线要写成 \|,否则参数会被当成单元格分隔符,图注也会被截断。
markdown
| 单元格内容 | 结果 |
| --- | --- |
| ![[05-falls.jpg\|瀑布方形\|ag:crop=1:1]] | 只应用裁剪 |
| ![[03-valley.jpg\|谷地\|ag:exclude]] | 完全交给 Obsidian |Callout:只认领,不装饰
callout 里的图片保持 Obsidian 原生样式:不并排、不加图注、不显示任何手柄。
原因很直接;callout 在实时预览里不是一个可编辑的块,插件写进去的几何读者无法调整,所以选择完全不接管。在 callout 里写 ag: 参数不会有任何效果,也不会报错;这是本插件唯一一处「静默忽略」的参数场景。
能力矩阵
| 容器 | 宽度/浮动 | 画廊 | 裁剪 | 手柄 |
|---|---|---|---|---|
| 正文 | 是 | 是 | 是 | 是 |
| 列表项 | 块布局,可写宽度 | 同项内可并排 | 是 | 否 |
| 表格单元格 | 否 | 否 | 是 | 仅实时预览的操作按钮 |
| Callout | 否 | 否 | 否 | 否 |
设计取舍
容器越复杂,可安全调整的几何越少。表格的宽度由列决定,callout 的块不可编辑,列表项的边界由项目符号划分;在这些地方强行接管,会让读者的编辑操作与画面结果脱节。宁可少做,也不做不可控的事。