用途:在 Obsidian 中通过 Mermaid 代码块创建多种图表,用于可视化流程、系统架构、项目排期、数据关系等。Obsidian 内置 Mermaid 支持,使用带 mermaid 标识的围栏代码块即可。
主要能力与图表选择:流程图(flowchart)用于流程与决策树;时序图(sequenceDiagram)用于 API 调用与消息传递;类图(classDiagram)用于 OOP 设计与关系;甘特图(gantt)用于项目时间线;状态图(stateDiagram-v2)用于状态机与生命周期;Git 图(gitGraph)用于分支策略;思维导图(mindmap)用于头脑风暴与层级;饼图(pie)用于比例;ER 图(erDiagram)用于数据库模式;用户旅程(journey)用于体验步骤与满意度;时间线(timeline)用于历史事件与里程碑;象限图(quadrantChart)用于优先级矩阵;桑基图(sankey-beta)用于流量与比例带;XY 图(xychart-beta)用于数值数据;块图(block-beta)用于精确布局;架构图(architecture-beta)用于云服务关系。
使用方式:在代码块中写对应关键字与语法。例如流程图用 flowchart TD 定义方向,节点形状如 [矩形]、(圆角)、{菱形},箭头 -->、-.->、==>,标签 -->|文本|。时序图用 ->>、-->>、-) 表示同步、响应、异步,支持 activate/deactivate、loop、alt/else、opt、par/and、critical 与 Note。类图用 +、-、#、~ 表示可见性,<|--、--、o--、--> 表示关系。甘特图用 dateFormat 与任务行 name :id, start, duration。状态图用 [] 表示起止,State1 --> State2 : event。Git 图用 commit、branch、checkout、merge。思维导图用缩进定义层级。饼图用 "标签" : 值。ER 图用 ||--o{ 等表示基数。用户旅程用 任务: 分数: 角色。时间线用 时期 : 事件。象限图用 x-axis、y-axis 与 名称: [x, y]。桑基图用 CSV 三列 source, target, value。XY 图用 x-axis、y-axis 与 line/bar 系列。块图用 columns N 与 ID["标签"]:SPAN。架构图用 group、service、in 与 {id}:{pos} 连接。样式可用 style、classDef 与 :::,注释用 %%。
限制:Obsidian 的 Mermaid 版本可能落后于 mermaid.js,部分新特性不可用;图表颜色随主题变化,需显式样式保证一致;50 个以上节点的大图可能拖慢渲染,建议拆分;PDF 导出会把图表转为图片,外部分享可截取 PNG/SVG;出于安全,点击事件与 JavaScript 回调被禁用。
适用场景:笔记中的流程说明、架构草图、项目排期、数据关系与知识梳理。更多语法细节见资料中列出的 reference.md 及各图表专属文档。