要在 Obsidian 中连接两个 Mermaid 子图,请为每个组指定显式 ID 并连接这些 ID。在 Mac 上,先测试一个最小示例图,再检查问题是语法、布局方向,还是安装的渲染器存在差异。
本指南涵盖在一个流程图中让组之间显示箭头。任务是使预期的连接出现,识别其端点,并在渲染器无法生成所需排列时选择一个实用的替代方案。
从两个组之间的最小连接开始
创建一个临时笔记并粘贴下面完整的围栏代码块。Obsidian 记录的添加图表方法是使用语言为 mermaid 的代码块;不需要单独的图表文件。高级格式语法
```mermaid
flowchart LR
subgraph groupA [Group A]
direction TB
A1[Item A1] --> A2[Item A2]
end
subgraph groupB [Group B]
direction TB
B1[Item B1] --> B2[Item B2]
end
groupA --> groupB
```
Mermaid 记录了显式的子图 ID 以及指向和来自子图的边。这里,groupA 和 groupB 标识容器;方括号中的文本提供它们的标题。最后一行连接容器。流程图语法
切换到 阅读视图 以检查结果。在 macOS 上,切换阅读和编辑视图的记录快捷键是 Cmd+E。也可以通过状态栏的视图控制选择 阅读视图。为了精确编辑源码,请选择 源码模式。视图和编辑模式
使用三个验收检查:两个组都出现,它们的内部项目出现,并且一条箭头连接两个组的边界。在此第一次检查中,请暂时忽略间距和样式。这些示例遵循检索到的语法文档;本文未在本地 Obsidian 安装中渲染它们。
如果最小示例有效,请保留该笔记作为参考。以小步骤将原始图表与其对比:先比较组声明,然后是它们的 ID,然后是单个连接线。仅在基本连接可见后再恢复额外内容。
检查你的 Obsidian 版本使用哪个渲染器
在与在线示例对比结果前,记录安装的应用版本。Obsidian 的更新文档将应用和安装程序版本放在 设置 → 常规 下。选择 检查更新,如果提供更新则选择 重新启动。也请遵循任何单独的安装程序通知。更新 Obsidian
存在一个重要的版本分界:Obsidian 2026 年 10 月 22 日的发行说明将 Desktop 1.15.0 标识为早期访问版本,并说明图表使用 Pele,与 Mermaid 12.1.0 语法兼容。同一说明还指出该版本不再包含 Mermaid 本身。请将假设每个 Obsidian 安装都捆绑 Mermaid 的说明视为版本依赖。Obsidian 1.15.0 Desktop (Early access)
这些发行说明还在 1.15.0 中移除了 在笔记中显示 Mermaid 图表 设置。如果你的安装显示该设置或启用提示,请记录该差异,而不是无限期地寻找为另一版本描述的控件。Obsidian 1.15.0 Desktop (Early access)
为排查故障,请保留简短的对比记录:应用版本、编辑或阅读视图、确切图表文本和观察到的结果。具体描述结果——例如“两个组出现,但连接箭头缺失”。这比仅记录图表损坏更有用。
决定箭头应连接组还是项目
根据图表需要传达的内容选择端点。对于组之间的宽泛关系,从容器示例开始。对于项目间的特定转换,使用以下完整替代方案并单独评估。
```mermaid
flowchart LR
subgraph groupA [Group A]
A1[Item A1] --> A2[Item A2]
end
subgraph groupB [Group B]
B1[Item B1] --> B2[Item B2]
end
A2 --> B1
```
最后一行现在连接跨越组边界的命名项目。Mermaid 的流程图文档区分节点、边和子图;请一致使用预期端点的 ID。流程图语法
如果容器示例在你安装的渲染器中失败但项目示例有效,当项目到项目的关系能表达你的预期含义时,第二种是一个实用的后备。在图表中保留这种区别:不要将特定的项目转换作为容器本身相连的证据。
在调整任一示例时,一次只做一个更改。先重命名可见标题,检查结果,然后再添加更多项目。将样式和嵌套留到后面。这个顺序让每次编辑都有明确目的,并使与失败关联的第一个更改更容易识别。
理解为什么子图的方向会改变
Mermaid 记录了一个布局限制:当子图的节点连接到组外部时,子图自己的方向会被忽略,它会继承父方向。其文档将此与连接到容器的情况对比。子图中的方向
因此,箭头可能是正确的,而排列却不同于你的意图。在第一个示例中,分别检查内部堆叠和组间箭头。在第二个示例中,优先检查项目端点,然后再判断布局。在解读任一结果时,请记住上述渲染器区别。
如果你既需要特定的项目连接,又需要不同的内部方向,请将它们视为单独的验收要求。记录在案的 Mermaid 限制意味着你不应承诺添加局部方向语句能同时满足两者。选择能准确表达关系的连接,然后在必要时简化排列。
一个有用的后备是保留一个整体方向,并缩短图表,直到连接的项目易于跟随。如果组级含义足够,返回第一个示例。这些是关于图表传达什么的编辑选择,而不是关于确切位置或箭头路由的保证。
在重建图表前隔离故障
使用此诊断序列决定下一步尝试什么。它是从记录的语法和渲染器边界衍生出的决策辅助,而非确认缺陷的清单。
| 观察 | 下一步检查 | 记录内容 |
|---|---|---|
| 笔记显示字面图表文本 | 检查开头和结尾的代码围栏,然后切换到 阅读视图 |
代码块是否渲染 |
| 最小示例产生错误 | 将粘贴的块与示例逐字符对比 | 完整错误文本 |
| 组渲染,但连接未渲染 | 单独测试完整的项目到项目替代方案 | 哪种端点类型成功 |
| 箭头出现,但内部方向改变 | 复查记录的外部节点方向限制 | 剩余问题是连通性还是排列 |
| 示例有效直到恢复更多内容 | 撤销最新添加并重复该单一更改 | 与失败关联的最小添加 |
| 相同文本在别处表现不同 | 对比应用版本、渲染器和视图模式 | 确切环境和结果 |
为进行独立的语法对比,Obsidian 文档推荐 Mermaid Live Editor。将图表内容粘贴到那里,不带周围的 Markdown 围栏。成功的浏览器渲染可作为对比的有用证据,但不代表与你的 Obsidian 版本行为相同。高级格式语法
如果在 Obsidian 中结果仍有差异,在桌面沙盒库中重复最小测试。Obsidian 官方故障排除指南将 打开帮助 > 沙盒库 标识为在正常库设置之外复现问题的桌面检查。它还建议在进一步诊断前更新社区主题和插件并重启。关于错误报告类别
如果沙盒成功,一次调查原始库中的差异。如果沙盒也失败,保留最小示例、应用和安装程序版本、视图模式和确切观察结果。在报告前,按 Obsidian 报告指南的要求,在官方论坛搜索现有的匹配报告。关于错误报告类别
以能传达所需关系的最小图表结束。当组是预期端点时保留容器连接;当转换属于特定项目时使用项目连接。一旦该选择在你安装的 Obsidian 版本中渲染可接受,逐步恢复额外细节,并在图表保持可读时停止。
来源
- 高级格式语法 — Obsidian 帮助。
- 流程图语法 — Mermaid。
- 视图和编辑模式 — Obsidian 帮助。
- 更新 Obsidian — Obsidian 帮助。
- Obsidian 1.15.0 桌面版(早期访问) — Obsidian。
- 关于错误报告类别 — Obsidian 论坛。