Markdown 如何绘制流程图

在技术文档、项目说明或学习笔记中,流程图可以帮助我们更加直观地表达流程、逻辑和关系。然而,Markdown 本身并不直接支持绘制流程图,但通过借助一些扩展工具(如 Mermaid 或 PlantUML),我们可以在 Markdown 中轻松创建并显示流程图。

本文将详细介绍 Markdown 中如何绘制流程图的方式,包括使用 Markdown 扩展工具绘制流程图的步骤和具体案例。

使用 Mermaid 绘制流程图

1. 什么是 Mermaid?

Mermaid 是一个支持在 Markdown 文件中通过简单语法绘制流程图、时序图、甘特图等图表的开源工具。它广泛应用于各类文档工具(如 Typora、Obsidian)和在线编辑器(如 GitHub、GitLab 等)。

2. Mermaid 流程图基本语法

在 Mermaid 中,流程图是通过 graph 关键字以及节点和箭头定义的,以下是基本语法:

graph TD
    A[开始] --> B[步骤1]
    B --> C{条件判断}
    C -->|是| D[步骤2]
    C -->|否| E[结束]

语法说明

  • graph:定义流程图类型:
    • TD 表示从上到下(Top-Down)。
    • LR 表示从左到右(Left-Right)。
    • BT 表示从下到上(Bottom-Top)。
    • RL 表示从右到左(Right-Left)。
  • 节点
    • A[文本]:矩形节点。
    • B((文本)):圆形节点。
    • C{文本}:菱形节点(常用于条件判断)。
  • 箭头
    • -->:单向箭头。
    • -->|是|:带标签的箭头。

3. 实际案例:简单流程图

以下是一个简单的用户登录流程图示例:

graph TD
    A[打开网站] --> B[输入用户名和密码]
    B --> C{验证成功?}
    C -->|是| D[进入主页]
    C -->|否| E[提示错误]
    E --> B

渲染效果

graph TD
    A[打开网站] --> B[输入用户名和密码]
    B --> C{验证成功?}
    C -->|是| D[进入主页]
    C -->|否| E[提示错误]
    E --> B

4. 如何在 Markdown 编辑器中使用 Mermaid?

1. Typora(支持 Mermaid 的 Markdown 编辑器)

  • 打开 Typora,进入设置界面,启用 Mermaid 支持。
  • 在文档中插入 mermaid 代码块,即可绘制流程图。

2. Obsidian

  • 安装 Obsidian 并启用 “Mermaid” 插件。
  • 使用 mermaid 代码块插入流程图。

3. GitHub 和 GitLab

  • 在 GitHub/GitLab 的 Markdown 文件中,直接嵌入 Mermaid 代码块并上传,平台会自动渲染流程图。

4. 在线工具

使用 PlantUML 绘制流程图

1. 什么是 PlantUML?

PlantUML 是一种基于文本的绘图工具,可以用来绘制流程图、UML 图、时序图等。它同样支持在 Markdown 中嵌入代码生成流程图。

2. PlantUML 流程图基本语法

PlantUML 使用类似伪代码的语法描述流程图。以下是基本语法:

@startuml
start
:输入用户名和密码;
if (验证成功?) then (是)
  :进入主页;
else (否)
  :提示错误;
  :重新输入;
endif
stop
@enduml

语法说明

  • startstop:表示流程的开始和结束。
  • :文本;:表示一个流程步骤。
  • if (条件) then (分支):条件判断,then 表示“是”,else 表示“否”。

3. 实际案例:用户登录流程图

@startuml
start
:打开网站;
:输入用户名和密码;
if (验证成功?) then (是)
  :进入主页;
else (否)
  :提示错误;
  :重新输入;
endif
stop
@enduml

渲染效果

+-------------------+
|     打开网站      |
+-------------------+
          ↓
+-------------------+
| 输入用户名和密码  |
+-------------------+
          ↓
+-------------------+
| 验证成功?        |
+-------------------+
    是 ↓      ↓ 否
+-------------------+   +-------------------+
|     进入主页      |   |     提示错误      |
+-------------------+   +-------------------+
                            ↓
+-------------------+
|   重新输入        |
+-------------------+

4. 如何在 Markdown 中使用 PlantUML?

1. 本地渲染

  • 安装 PlantUML 渲染工具(需要 Java 环境)。
  • 在 Markdown 中插入 PlantUML 代码块,使用支持的 Markdown 编辑器(如 Typora 或 VS Code)进行渲染。

2. 在线工具

Mermaid 与 PlantUML 的对比

特性 Mermaid PlantUML
入门难度 简单,语法直观 略复杂,语法接近伪代码
支持图类型 流程图、时序图、甘特图等 流程图、UML 图、时序图等
Markdown 支持 原生支持(如 Typora、Obsidian、GitHub) 需要插件或额外工具
渲染方式 在线和本地渲染均可 在线和本地渲染均可
图形美观度 简洁,适合轻量化需求 更专业,适合复杂场景

使用 HTML 和 SVG 绘制流程图(补充)

如果 Markdown 的扩展工具不满足需求,还可以直接嵌入 HTML 或 SVG 代码来绘制流程图:

示例代码

<svg width="400" height="300">
  <rect x="50" y="20" width="100" height="50" fill="lightblue" />
  <text x="90" y="50" font-size="14" fill="black">开始</text>
  <line x1="100" y1="70" x2="100" y2="120" stroke="black" />
  <rect x="50" y="120" width="100" height="50" fill="lightgreen" />
  <text x="70" y="150" font-size="14" fill="black">步骤1</text>
</svg>

渲染效果:

  • 这是一个简单的流程图,包含矩形和连线,适合定制化需求。

在 Markdown 中绘制流程图虽然需要借助扩展工具,但通过 Mermaid 或 PlantUML,可以轻松实现高质量的流程图绘制。选择工具时:

  • 如果你追求简单和快速,推荐使用 Mermaid
  • 如果需要复杂的流程图或 UML 图,建议使用 PlantUML

无论选择哪种方式,灵活运用流程图都能让你的文档更加直观和专业!

By admin

发表回复