mermaidjs是一个通过解析类 Markdown 的文本语法来绘制图表的插件

mermaidjs是一个通过解析类 Markdown 的文本语法来绘制图表的插件

Mermaid 是一个基于 Javascript 的图表绘制工具,通过解析类 Markdown 的文本语法来实现图表的创建和动态修改。Mermaid 诞生的主要目的是让文档的更新能够及时跟上开发进度。

绘图和编写文档花费了开发者宝贵的开发时间,而且随着业务的变更,它很快就会过期。 但是如果缺少了图表或文档,对于生产力和团队新人的业务学习都会产生巨大的阻碍。Mermaid 通过允许用户创建便于修改的图表来解决这一难题,它也可以作为生产脚本(或其他代码)的一部分。

mermaid支持js和python,js支持npm和cdn

npm引入方式

 npm install -g yarn

cdn方式

<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/mermaid.min.js"></script>

直接将markdown描述文本放在class为mermaid的div中即可

<div class="mermaid">
            graph TD 
            A[Client] --> B[Load Balancer] 
            B --> C[Server1] 
            B --> D[Server2]
</div>

通过js自动解析生成流程图。

    <script>
            mermaid.initialize({ startOnLoad: true });
        </script>

示例代码:

<html>
    <body>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/mermaid.min.js"></script>
        <script>
            mermaid.initialize({ startOnLoad: true });
        </script>
<div class="mermaid">
sequenceDiagram
Alice->>John: Hello John, how are you?
loop Healthcheck
    John->>John: Fight against hypochondria
end
Note right of John: Rational thoughts!
John-->>Alice: Great!
John->>Bob: How about you?
Bob-->>John: Jolly good!
        </div>
        <div class="mermaid">
            graph TD 
            A[Client] --> B[Load Balancer] 
            B --> C[Server1] 
            B --> D[Server2]
        </div>
    </body>
</html>

支持的图表类型有:

时序图

sequenceDiagram
Alice->>John: Hello John, how are you?
loop Healthcheck
    John->>John: Fight against hypochondria
end
Note right of John: Rational thoughts!
John-->>Alice: Great!
John->>Bob: How about you?
Bob-->>John: Jolly good!

mermaidjs是一个通过解析类 Markdown 的文本语法来绘制图表的插件

甘特图

gantt
    section Section
    Completed :done,    des1, 2014-01-06,2014-01-08
    Active        :active,  des2, 2014-01-07, 3d
    Parallel 1   :         des3, after des1, 1d
    Parallel 2   :         des4, after des1, 1d
    Parallel 3   :         des5, after des3, 1d
    Parallel 4   :         des6, after des4, 1d

mermaidjs是一个通过解析类 Markdown 的文本语法来绘制图表的插件

类图

classDiagram
Class01 <|-- AveryLongClass : Cool
<<Interface>> Class01
Class09 --> C2 : Where am i?
Class09 --* C3
Class09 --|> Class07
Class07 : equals()
Class07 : Object[] elementData
Class01 : size()
Class01 : int chimp
Class01 : int gorilla
class Class10 {
  <<service>>
  int id
  size()
}

mermaidjs是一个通过解析类 Markdown 的文本语法来绘制图表的插件

状态图

stateDiagram-v2
[*] --> Still
Still --> [*]
Still --> Moving
Moving --> Still
Moving --> Crash
Crash --> [*]



mermaidjs是一个通过解析类 Markdown 的文本语法来绘制图表的插件

用户体验旅程图

  journey
    title My working day
    section Go to work
      Make tea: 5: Me
      Go upstairs: 3: Me
      Do work: 1: Me, Cat
    section Go home
      Go downstairs: 5: Me
      Sit down: 3: Me

mermaidjs是一个通过解析类 Markdown 的文本语法来绘制图表的插件

github地址:https://github.com/mermaid-js/mermaid

立即下载mermaid.min.js查看所有js插件

网友评论0

程序员在线工具箱