本文へスキップ
Mernyx
メニューを開く

Mermaid フローチャートのチートシート

四角、矢印、分岐——Mermaid というとき、たいていの人が思い浮かべる図。

このページのすべての図はMernyx(macOS 向けネイティブ Mermaid エディタ)が描いたものです。ブラウザで動く Mermaid.js ではなく、App のキャンバスで使うのと同じレンダラーです。

方向

最初の行が流れを決めます。TD と TB は同じ、LR と RL は横に走ります。

flowchart LR
  A[Start] --> B[Middle] --> C[End]
左から右へ流れるフローチャート。Start、Middle、End の 3 つの箱が矢印でつながっています。図を拡大

ノード形状

入力した括弧がそのまま形になります。ここにある 5 つは Mernyx がふつうの箱として描くものです。

flowchart LR
  A[Rectangle] --> B(Rounded)
  B --> C([Stadium])
  C --> D[[Subroutine]]
  D --> E[(Database)]
5 つのノードがつながったフローチャート。形はそれぞれ長方形、丸角の箱、スタジアム形、サブルーチン、データベースの円柱です。図を拡大

丸い形と角のある形

ふつうの形の残りです。円、判断のひし形、六角形、斜めの形。

flowchart LR
  A((Circle)) --> B(((Double circle)))
  B --> C{Diamond}
  C --> D{{Hexagon}}
  D --> E>Asymmetric]
5 つのノードがつながったフローチャート。円、二重円、ひし形、六角形、非対称の形です。図を拡大

斜めの 4 つ

平行四辺形と台形です。スラッシュは片側に傾け、バックスラッシュは反対へ傾けます。

flowchart LR
  A[/Parallelogram/] --> B[\Alternate\]
  B --> C[/Trapezoid\]
  C --> D[\Inverted/]
フローチャートのノード 4 つが一列に並んでいます。右に傾いた平行四辺形、左に傾いた平行四辺形、台形、逆台形です。図を拡大

矢印の種類

2 つのノードをつなぐ方法は 4 つ。実線、点線、開いた線、太い線です。

flowchart LR
  A[Solid] --> B[Target]
  A -.-> C[Dotted]
  A --- D[Open]
  A ==> E[Thick]
左の 1 つのノードから右の 4 つのノードへ、実線の矢印、点線の矢印、開いた線、太い矢印でつながっています。図を拡大

エッジにラベルをつける

書き方は 2 つ。長いラベルならパイプを使う形が読みやすい。

flowchart LR
  A[Start] -->|Yes| B[Continue]
  A -- No --> C[Stop]
Start というラベルのノードから出る矢印が 2 本。Yes の矢印は Continue へ、No の矢印は Stop へつながっています。図を拡大

連結と辺の長さ

ノードは 1 行につないで並べられます。ダッシュを足すと、そのノードは遠くなります。

flowchart LR
  A[One] --> B[Two] --> C[Three]
  B ----> D[Further away]
左から右へ並ぶ箱 3 つの連結。4 つ目の箱はさらに右側にあり、長い矢印でつながっています。図を拡大

サブグラフにまとめる

サブグラフは、中でインデントしたノードを囲む、ラベルのついた箱です。

flowchart TB
  subgraph Backend
    API[API] --> DB[(Database)]
  end
  subgraph Frontend
    UI[UI] --> API
  end
Backend と Frontend の 2 つのグループ箱。Backend にはデータベースの円柱につながる API 箱が、Frontend にはその API につながる UI 箱が入っています。図を拡大

ノードにスタイルをつける

style は 1 つのノードだけを変えます。classDef は使い回せるスタイルに名前をつけます。

flowchart LR
  A[Normal] --> B[Highlighted]
  style B fill:#ee421d,color:#ffffff,stroke:#b32c0c
  classDef quiet fill:#f0f0f3,stroke:#d4d4d8
  class A quiet
矢印で結ばれた箱 2 つ。右の箱がコーラル色で塗られ、左の箱は淡い灰色です。図を拡大

ラベルの中の Markdown

ラベルをバッククォートで包むと、太字・斜体・コードにできます。

flowchart LR
  A["`**Bold** text`"]
  B["``inline code``"]
箱 2 つ。一方のラベルは太字、もう一方は等幅のインラインコードです。図を拡大

アイコン

Font Awesome Free を Mermaid の書き方で。名前をラベルに書けば、Mernyx が字形を描きます。認識できないアイコンは、図を失敗させるのではなく、アイコン 1 つ分の幅の空白を残します。

flowchart LR
  A([fa:fa-user User]) --> B([fa:fa-server Server])
  B --> C([fa:fa-database Database])
左から右へ並ぶ箱 3 つのフローチャート。User、Server、Database とラベルされ、それぞれラベルの前に小さな Font Awesome Free のアイコンがあります。人物、サーバーラック、データベースの円柱です。図を拡大
Icons: Font Awesome Free, CC BY 4.0

Mernyx で描いてみる

.mmd ファイルを開いて、キャンバスでノードを動かしてみてください。ソースコードもついてきます。macOS ネイティブで、ブラウザは介在しません。

図のプレビュー