はじめに
なんて素敵なの!1 nikkieです。
描画ツールをいじらずにフローチャートを書いてみたく、Mermaidを試してみました🧜♀️
目次
GitHubはMermaidをサポート
2022年2月からサポート。
おぼろげながら話題になっていた覚えがあります。
たとえば、Mermaid ではフローチャート、シーケンス図、円グラフなどをレンダリングできます。
Mermaid ダイアグラムを作成するには、
mermaid
言語識別子をもつコード ブロック内に Mermaid 構文を追加します。
動作環境
- GitHubのIssue(間違ってOpenしても見えないよう、プライベートリポジトリ)
- VS Code拡張「Markdown Preview Mermaid Support」2
Issueでぱっと試し、この記事を書く際はVS Code拡張を試しました。
GitHub blogのフローチャートの例を写経
mermaid
言語識別子をもつコードブロック内の書き方です(コードブロック全体はrawで見てください)。
完全一致で写経したわけではなく、ドキュメントを元に細かいところを変えています。
Mermaidのドキュメントより
- Node
- IDまたはテキスト
- https://mermaid.js.org/syntax/flowchart.html#a-node-default
- https://mermaid.js.org/syntax/flowchart.html#a-node-with-text
- テキストに日本語も書けるが全角の「?」「!」はエラーになった(→半角にしてエラー回避)
- NodeどうしにLinkを引いて、Graphにできる
- フローチャートの方向
- https://mermaid.js.org/syntax/flowchart.html#flowchart-orientation
- TD(Top-down)はTB(top to bottom)と同じ
- TB / BT / LR(left to right) / RL
- Nodeの形状
- Node間のLink
- 有向にできる
- さらにテキストを持たせられる(2通りの書き方)
- https://mermaid.js.org/syntax/flowchart.html#a-link-with-arrow-head-and-text
A-- text -->B
A-->|text|B
(Lineの前後に空白を入れてもよい)
Node Eに閉じるところは、テキストを書くのを1回だけにできました。
GitHub blogの例では、テキストを2回繰り返しています。
NodeのIDが同じだからうまくいくんじゃないかと思っていますが、ドキュメント中に記載をまだ見つけられていません。
終わりに
フローチャートは描画ツール不要(キー入力だけ)で作れる! Mermaidならね
これはなかなか好感触です。
過去、Draw.io拡張3を使ってVS Codeで図を作りました4が、全てテキストで完結するのはとてもいいですね!
今回触ったのはフローチャートですが、Mermaidはほかの図も書けるという!
いや〜、これは素晴らしいな〜。引き続き素振りしていこう!
- アニメ映画『ジョゼと虎と魚たち』より。見るもの全てに心が躍るわ❣️↩
- Mermaid 入門してみたメモ(flowchart で力尽きた…) にて知りました↩
- Draw.io Integration - Visual Studio Marketplace↩
- 作った図は Pythonでプログラミングに入門しよう! — start-programming-with-python ドキュメント で使っています。例:7. 3大構造 二. 分岐 — start-programming-with-python ドキュメント↩