https://docs.min2k.com/zh/mermaid/intro/
Mermaid 和 Markdown 的关系
Mermaid 是一个基于 JavaScript 的图表生成库,它可以在 Markdown 中使用,但不是 Markdown 的原生功能。
Markdown 原生支持:
- 标题 (
# ## ###) - 列表(有序、无序)
- 链接和图片
- 代码块
- 表格
- 引用块
- 粗体、斜体等基本格式
Mermaid 提供的图表类型
除了甘特图,Mermaid 还支持:
gantt
**mermaid:**图中红框第一行内容与最后一行内容,表示当前使用的语言为mermaid。
**gantt:**表示图表类型为甘特图
**dateFormat:**指定日期格式(Y表示年,M表示月,D表示日)。YYYY-MM-DD(2019-03-14),YY-MM-DD(19-03-14)
section: 项目关键字,空格之后输入项目名称。
任务行: section后每一行为一个任务。第一个字符串为任务名称,之后以:开头,添加任务属性。
接下来用下面代码实例说明常见任务属性。
任务状态:
- done 已完成
- active正在进行
- crit 关键任务
- 默认任务都为待完成状态
**任务描述:**在des1、des2位置添加任务描述,其它任务引用时直接引用des1就可以。
after: 描述任务时间关系。des3, after des2表示des3紧跟在des2之后。
任务时长有三种方式:
- 时间范围 如:2014-01-06,2014-01-08
- 指定天数 如:5d
- 指定开始日期+天数 如:2014-01-06,5d
d天w周h小时m分钟
(1m= 1 minute;如果想写 month,请用4w或写绝对日期,避免歧义)
PS:所有关键字之间用“,”分隔,关键字需要属性时用空格分隔(如:after des2,)。
支持的其他格式示例
Table
Copy
| 格式串 | 例子 | 说明 |
|---|---|---|
YYYY-MM-DD | 2025-11-18 | 最常用 |
DD/MM/YYYY | 18/11/2025 | 欧洲习惯 |
X | 1731926400 | Unix 秒时间戳 |
二、任务时间的 3 种合法写法
Table
Copy
| 写法 | 示例 | 渲染结果 |
|---|---|---|
| 起 + 止(绝对) | 2025-11-01, 2025-11-07 | 精确到日 |
| 起 + 时长(相对) | 2025-11-01, 7d | 从 1 号开始 7 天 |
| 起 + 时长(周/月) | 2025-11-01, 2w / 2025-11-01, 1m | 1 个月≈30 天 |
注意:逗号是分隔符,不能写成空格!
1. 流程图 (Flowchart)
graph TD
A[开始] --> B{判断}
B -->|是| C[执行操作]
B -->|否| D[结束]
C --> D2. 序列图 (Sequence Diagram)
sequenceDiagram
participant A as 用户
participant B as 系统
A->>B: 登录请求
B-->>A: 登录成功3. 类图 (Class Diagram)
classDiagram
class Animal {
+String name
+void eat()
}
class Dog {
+void bark()
}
Animal <|-- Dog4. 状态图 (State Diagram)
stateDiagram-v2
[*] --> 待机
待机 --> 运行: 启动
运行 --> 待机: 停止
运行 --> 错误: 异常
错误 --> 待机: 重置5. 饼图 (Pie Chart)
pie title 任务时间分配
"编码" : 40
"测试" : 25
"文档" : 20
"会议" : 156. 思维导图 (Mindmap)
mindmap
root((Mermaid))
图表类型
流程图
序列图
甘特图
类图
优点
易学易用
文本驱动
版本可控7. 时间线 (Timeline)
timeline title 项目里程碑 2024-01 : 项目启动 2024-03 : 原型完成 2024-06 : 测试阶段 2024-09 : 正式发布
在 Markdown 中使用 Mermaid
在支持 Mermaid 的 Markdown 编辑器中,使用代码块语法:
```mermaid
// 这里写 mermaid 代码
graph TD
A --> B
```其他 Markdown 扩展
除了 Mermaid,一些 Markdown 平台还支持:
- 数学公式 (LaTeX)
- 任务列表 (
- [ ] 任务) - 目录生成 (
[TOC]) - 图表 (如 PlantUML、Graphviz)
总结
- Gantt 是 Mermaid 的功能,不是 Markdown 原生功能
- Mermaid 是 Markdown 的扩展,需要环境支持
- Mermaid 提供多种图表类型,甘特图只是其中之一
您对哪种图表类型比较感兴趣?我可以提供更详细的示例和用法!