这是工具系列的第四篇,本来最近没有想再分享这个系列,不过最近朋友给我推荐了一个绘制流程图的神器,忍不住推荐给大家。
绘制程序流程图、时序图、甘特图一直是我比较头疼的问题,一直使用viso,用着一直非常不爽:
-
默认框图不好看,每次需要手动去调颜色、字体等
-
需要仔细拖动框图对齐,虽然后自动对齐,不过还是很麻烦
-
添加到markdown的笔记中很麻烦,需要保存图片再加载
-
ubuntu没有找到比visio好的绘图软件,只能用双系统解决
-
没办法源码管理,只能作为二进制文件管理
好吧,虽然体验不好,不过还是坚持用了好多年,直到朋友给我推荐了markdown的插件mermaid,还要啥visio呀。
吐槽了很多,开始我们正式的分享,作为markdown的插件,不是所有的md编辑器都支持的,所幸我们有宇宙第一文本编辑器typora,它原生支持mermaid
用法很简单,只需要插入一个代码块,将语法设置为mermaid,typora就会自动进行渲染。
废话不多说,我们看看实际的效果吧,这里我直接引用了mermaid官方教程中的demo,给大家看看效果,是不是大家想要的,觉得能满足需求就继续学习它。
流程图
graph TD;
A-->B;
A-->C;
B-->D;
C-->D;
C-->E;
时序图
sequenceDiagram
participant Alice
participant Bob
Alice->>John: Hello John, how are you?
loop Healthcheck
John->>John: Fight against hypochondria
end
Note right of John: Rational thoughts <br/>prevail!
John-->>Alice: Great!
John->>Bob: How about you?
Bob-->>John: Jolly good!
甘特图
gantt
dateFormat YYYY-MM-DD
title Adding GANTT diagram to mermaid
excludes weekdays 2014-01-10
section A section
Completed task :done, des1, 2014-01-06,2014-01-08
Active task :active, des2, 2014-01-09, 3d
Future task : des3, after des2, 5d
Future task2 : des4, after des3, 5d
类图
classDiagram
Class01 <|-- AveryLongClass : Cool
Class03 *-- Class04
Class05 o-- Class06
Class07 .. Class08
Class09 --> C2 : Where am i?
Class09 --* C3
Class09 --|> Class07
Class07 : equals()
Class07 : Object[] elementData
Class01 : size()
Class01 : int chimp
Class01 : int gorilla
Class08 <--> C2: Cool label
饼状图
pie
title Key elements in Product X
"Calcium" : 42.96
"Potassium" : 50.05
"Magnesium" : 10.01
"Iron" : 5
由于微信公众号不支持插入这个渲染,所以我直接将效果保存为图片插入,大家可以从mermaid官网复制demo在typora上看效果
https://mermaid-js.github.io/mermaid/#/
–
我的微信公众号,文章同步更新,欢迎关注。