要在 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 版本中渲染可接受,逐步恢复额外细节,并在图表保持可读时停止。

来源