43号線を西へ東へ

フリーランスの備忘録、アウトプットの実験場

Mermaid記法の基本まとめ【初心者向け】

このブログはプロモーションリンクを含むときがあります


ブログにフローチャートを埋め込めるMermaid記法について、1年とちょっと前に記事にしました。

チャート化することで話の展開が可視化されます。以前は多用していこうと思っていたのですが、最近はあまり使えていません。

使わなくなると、基本的な文法もすっかり忘れています。

覚えておきたい基本項目をまとめました。

Mermaidとは?

最初に覚えるべき図の種類

図の種類 用途 宣言方法
フローチャート 処理の流れを視覚化 graph TD または graph LR
シーケンス図 登場人物間のやり取り(時間軸に沿って) sequenceDiagram
ガントチャート タスクとスケジュールの視覚化 gantt
クラス図 クラスやオブジェクトの関係(UML的な用途) classDiagram

基本:フローチャート記法

図の向き指定

  • graph TD → 上から下(Top Down)
  • graph LR → 左から右(Left to Right)

ノード(要素)の書き方

形状 記法
四角 A[テキスト] A[開始]
丸(楕円) A(テキスト) A(開始)
ダイヤ(判断) A{条件} A{OK?}
テキストのみ A>テキスト] A>終了]

矢印の書き方

  • 矢印 → -->
  • 矢印にラベル → -- ラベル -->

フローチャート

mermaidコード

graph TD
A[スタート] --> B{条件分岐}
B -- Yes --> C[処理1]
B -- No --> D[処理2]
C --> E[終了]
D --> E

graph TD
A[スタート] --> B{条件分岐}
B -- Yes --> C[処理1]
B -- No --> D[処理2]
C --> E[終了]
D --> E

シーケンス図の例

mermaidコード

sequenceDiagram
    participant ユーザー
    participant サーバー

    ユーザー->>サーバー: リクエスト送信
    サーバー-->>ユーザー: レスポンス返却

sequenceDiagram
    participant ユーザー
    participant サーバー

    ユーザー->>サーバー: リクエスト送信
    サーバー-->>ユーザー: レスポンス返却

ガントチャートの例

mermaidコード

gantt
    title プロジェクト進行
    dateFormat  YYYY-MM-DD
    section 企画
    タスクA :a1, 2025-03-24, 3d
    タスクB :after a1, 2d

%%{init: {"gantt": {"axisFormat": "%m/%d"}}}%%
gantt
    title プロジェクト進行
    dateFormat  YYYY-MM-DD
    section 企画
    タスクA :a1, 2025-03-24, 3d
    タスクB :after a1, 2d

日付が重なって全く見えませんね。

練習方法・おすすめの環境

はてなブログでmermaidで書かれた図を表示させるには、初期設定が必要でした。詳しくは過去記事をご覧ください。