官方IO:
https://mermaid-js.github.io/mermaid/#/
官方對mermaid的簡介是這樣的:Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.
Markdown風格的語法,用於生成流程圖,序列圖,類圖,甘特圖和git圖。
接觸mermaid(直譯:美人魚)是因為漸漸的要寫一些小論文之類的東西,為了讓論文里的概念更加直白就當然需要插圖啦。但是直到現在我都沒弄明白用啥來畫這些論文里的插圖比較好。一次偶然的機會,點開了博客園鄰居CSDN的編輯器,發現它的編輯器有一類文法,叫mermaid。看了效果之后心想這不就是我需要的嘛,可以畫各種流程圖,時序圖。需要注意的是,mermaid是一種文法,所以具有高度的可移植性。它不會主動生成你所需要的圖片,想把mermaid(一行行帶各種tag的代碼)變成自己需要的東西(README文件,論文小插圖),則需要解釋器。這種解釋器大部分時候其實就是編輯器啦,比如隔壁的哪一家編輯器。
下面簡單介紹一下mermaid的最基礎用法,想用的更溜,建議還是點到官方IO里去鑽研文檔:(代碼前后的```mermaid)是告訴編輯器這是mermaid文法,需靈活看待。
1.Flowcharts(流程圖)
```mermaid graph LR; A --> B B --> C C --插入文字--> A ```
箭頭、方格、文字style均可改,文檔中可查。是不是很方便呢?不用為了對齊箭頭方格而頭疼了吧?
2.SequenceDiagram(時序圖)
```mermaid sequenceDiagram Alice->John: Hello John, how are you? loop Every minute John-->Alice: Great! end ```
是在通信中很常用的圖。
餅圖,狀態圖也都可以用mermaid輕松作出來,詳細的使用方法不再贅述,文檔可速查。但是mermaid的目標可能還並不是生成生成高質量的演示圖片。我認為它還是更適合進行演示而不是放到正式論文里,但是作一些小圖還是可以滴。