Markdown 使用 mermaid 绘制图

“mermaid 代码块”其实是 Markdown 中用于展示代码的语法,用三个反引号(```)包裹内容。如果代码块指定的语言是 mermaid,并且你的编辑器支持 Mermaid 渲染,它就能自动生成流程图、时序图等图形。


1. Mermaid 是什么?

Mermaid 是一个基于 JavaScript 的图表生成库,允许你用文本语法(类似 Markdown)生成流程图、时序图、甘特图等。它的核心优势是代码即图形,适合在 Markdown 文档中直接编写图表。


2. 为什么代码块能渲染成图?

  • Markdown 扩展功能:支持 Mermaid 的编辑器(如 Typora、VS Code 的 Mermaid 插件、Obsidian、Mermaid Live Editor 等)会自动解析 mermaid 代码块并渲染成图形。
  • 语法解析:Mermaid 的语法类似伪代码,定义节点和连接关系,最终通过浏览器或编辑器渲染成矢量图(SVG)。

3. 类似的技术或工具

除了 Mermaid,还有一些工具可以通过代码生成图形:

工具/语言特点
PlantUML用文本描述 UML 图(类图、时序图、用例图等),需安装 Java 和插件。
Graphviz用 DOT 语言生成拓扑图,适合复杂的数据流或结构图。
Draw.io (diagrams.net)拖拽式工具,但支持导出 XML 格式嵌入文档。
Viz.js基于 Graphviz 的 Web 实现,支持在 Markdown 中用 DOT 语法绘图。
LaTeX TikZ适合学术论文,用 LaTeX 代码绘制高质量矢量图(学习曲线陡峭)。

4. Mermaid 的更多技巧

(1) 流程图(Flowchart)
```mermaid
graph LR
    A[开始] --> B{条件判断}
    B -- 条件为真 --> C[执行操作]
    B -- 条件为假 --> D[跳过操作]
    C --> E[结束]
    D --> E
\\```
条件为真
条件为假
开始
条件判断
执行操作
跳过操作
结束
(2) 时序图(Sequence Diagram)
```mermaid
sequenceDiagram
    用户 ->> 服务器: 请求数据
    服务器 -->> 数据库: 查询
    数据库 -->> 服务器: 返回结果
    服务器 -->> 用户: 显示数据
\\```
用户 服务器 数据库 请求数据 查询 返回结果 显示数据 用户 服务器 数据库
(3) 甘特图(Gantt Chart)
```mermaid
gantt
    title 项目时间表
    dateFormat  YYYY-MM-DD
    section 阶段一
    任务1       :a1, 2024-01-01, 30d
    任务2       :a2, 2024-02-01, 20d
    section 阶段二
    任务3       :a3, 2024-03-01, 15d
\\```
2024-01-07 2024-01-14 2024-01-21 2024-01-28 2024-02-04 2024-02-11 2024-02-18 2024-02-25 2024-03-03 2024-03-10 任务1 任务2 任务3 阶段一 阶段二 项目时间表
(4) 饼图(Pie Chart)
```mermaid
pie
    title 占比分析
    "项目A" : 25
    "项目B" : 35
    "项目C" : 40
\\```
25% 35% 40% 占比分析 项目A 项目B 项目C
(5) 类图(Class Diagram)
```mermaid
classDiagram
    class Animal {
        +String name
        +makeSound()
    }
    class Dog {
        +bark()
    }
    class Cat {
        +meow()
    }

    Animal <|-- Dog
    Animal <|-- Cat
\\```
Animal
+String name
+makeSound()
Dog
+bark()
Cat
+meow()

5. 注意事项

  1. 环境支持:确保编辑器支持 Mermaid(如 Typora 需启用 Mermaid 实验功能,VS Code 需安装插件)。
  2. 语法差异:不同版本的 Mermaid 语法可能略有不同,建议参考官方文档 Mermaid 官网
  3. 调试技巧:如果图形不显示,检查语法是否正确,或尝试在 Mermaid Live Editor 中测试。

6. 学习资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值