Markdown中使用mermaid画流程图

Markown语法简单,用来写文档是个不错的选择。

但是Markdown 语法并不直接支持画图,当然方法还是有的。

本人用的Markdown编辑器为vscode,在里面直接安装mermaid插件即可使用。

  最近在学习使用携程开源框架Apollo,就以该框架的一些流程图介绍mermaid的使用:先看几个例子

1.基础模型

```mermaid
graph LR;
  Portal-->|发布/更新配置|Apollo配置中心;
  Apollo配置中心-->|实时推送|App;
  App-->|实时查询|Apollo配置中心;
```

效果图如下:

 

2.结构模型

```mermaid
graph TB
  client-->|2 findConfigServices|LoadBalancer;
  LoadBalancer-->|3 findService|metaServer;
  metaServer-->Eureka;
  client-->|4 access via ip:port/client load balance/error retry|ConfigService;
  ConfigService-->|1 register/cancel|Eureka;
  ConfigService-->|read/write|ConfigDB;
```

效果图如下:

3. 模块依赖图

```mermaid
graph LR;
  client---core;
  client---common;
  core---common;
  common---portal;
  common---Biz;
  Biz---ConfigService;
  Biz---AdminService;
```

效果图如下:

 

 总结:

graph  TB(top--botom 上下排列)

graph BT  (botom--top)

graph  LR(left--right 左右排列)

graph  RL (right--left)

-->    在流程图中显示——>

---    在流程图中显示——

 再来个简单例子:

```mermaid
graph LR;
  A-->|A指向B|B;
  B---|B与C相连|C;
```

 

增加一种序列图画法:官方例子

```mermaid
sequenceDiagram
    participant Alice
    participant Bob
    Alice->>John:hello John
    loop healthcheck
        John-->>John:fight against
    end
    Note right of John:rational
    
    John->>Alice:great!
    John->>Bob:how about you
    Bob->>John:good!

```

 

 注意:如果vscode显示不出来这个图,可能是预览插件没装。把mermaid的插件多装几个没影响

 

 

参考: https://mermaidjs.github.io/#/

https://cloud.tencent.com/developer/article/1334691

posted @ 2018-01-08 18:57  cicero  阅读(28470)  评论(2编辑  收藏  举报