mermaid 写法

写法: mermaid-js/mermaid (github.com)

以下几个实例效果图如下:

横向流程图源码格式:

1
2
3
4
5
6
graph LR
A[方形] -->B(圆角)
B --> C{条件 a}
C -->|a=1| D[结果 1]
C -->|a=2| E[结果 2]
F[横向流程图]

竖向流程图源码格式:

1
2
3
4
5
6
graph TD
A[方形] --> B(圆角)
B --> C{条件 a}
C --> |a=1| D[结果 1]
C --> |a=2| E[结果 2]
F[竖向流程图]

标准流程图源码格式:

1
2
3
4
5
6
7
8
9
st=>start: 开始框
op=>operation: 处理框
cond=>condition: 判断框(是或否?)
sub1=>subroutine: 子流程
io=>inputoutput: 输入输出框
e=>end: 结束框
st->op->cond
cond(yes)->io->e
cond(no)->sub1(right)->op

标准流程图源码格式(横向):

1
2
3
4
5
6
7
8
9
st=>start: 开始框
op=>operation: 处理框
cond=>condition: 判断框(是或否?)
sub1=>subroutine: 子流程
io=>inputoutput: 输入输出框
e=>end: 结束框
st(right)->op(right)->cond
cond(yes)->io(bottom)->e
cond(no)->sub1(right)->op

UML 时序图源码样例:

1
2
3
4
5
对象 A->对象 B: 对象 B 你好吗?(请求)
Note right of 对象 B: 对象 B 的描述
Note left of 对象 A: 对象 A 的描述(提示)
对象 B-->对象 A: 我很好(响应)
对象 A->对象 B: 你真的好吗?

UML 时序图源码复杂样例:

1
2
3
4
5
6
7
8
9
10
11
Title: 标题:复杂使用
对象 A->对象 B: 对象 B 你好吗?(请求)
Note right of 对象 B: 对象 B 的描述
Note left of 对象 A: 对象 A 的描述(提示)
对象 B-->对象 A: 我很好(响应)
对象 B->小三: 你好吗
小三-->>对象 A: 对象 B 找我了
对象 A->对象 B: 你真的好吗?
Note over 小三, 对象 B: 我们是朋友
participant C
Note right of C: 没人陪我玩

UML 标准时序图样例:

1
2
3
4
5
6
7
8
9
10
11
12
%% 时序图例子,-> 直线,-->虚线,->>实线箭头
sequenceDiagram
participant 张三
participant 李四
张三->王五: 王五你好吗?
loop 健康检查
王五->王五: 与疾病战斗
end
Note right of 王五: 合理 食物 <br/>看医生...
李四-->>张三: 很好!
王五->李四: 你怎么样?
李四-->王五: 很好!

甘特图样例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
%% 语法示例
gantt
dateFormat YYYY-MM-DD
title 软件开发甘特图
section 设计
需求 :done, des1, 2014-01-06,2014-01-08
原型 :active, des2, 2014-01-09, 3d
UI 设计 : des3, after des2, 5d
未来任务 : des4, after des3, 5d
section 开发
学习准备理解需求 :crit, done, 2014-01-06,24h
设计框架 :crit, done, after des2, 2d
开发 :crit, active, 3d
未来任务 :crit, 5d
耍 :2d
section 测试
功能测试 :active, a1, after des3, 3d
压力测试 :after a1 , 20h
测试报告 : 48h