<p>Mermaid は、Markdownの中に簡単な記法を書くと <strong>シーケンス図やフローチャート</strong>を描画できるツールです。<br>WordPress では「MerPress」などのプラグインを導入すれば、そのまま可視化できます。</p>
<p>本記事では、<strong>基本の文法とサンプル</strong>を紹介します。</p>
<h2 class="wp-block-heading">1. 基本の書き方</h2>
<p>Word</p>
<p>一例として、WordPressの場合、Mermaid のコードは アドオンする<strong>MerPressのブロック</strong>に書きます。</p>
<p>これで MerPress が自動的に描画してくれます。</p>
<hr class="wp-block-separator has-alpha-channel-opacity"/>
<h2 class="wp-block-heading">2. シーケンス図(sequenceDiagram)</h2>
<p>登場人物のやり取りを時系列で表します。</p>
<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">```mermaid
sequenceDiagram
participant A as Alice
participant B as Bob
A->>B: "Hello Bob"
B-->>A: "Hi Alice"
```</pre>
<div class="wp-block-merpress-mermaidjs diagram-source-mermaid"><pre class="mermaid">sequenceDiagram
participant A as Alice
participant B as Bob
A->>B: "Hello Bob"
B-->>A: "Hi Alice"
</pre></div>
<h2 class="wp-block-heading">3. フローチャート(flowchart)</h2>
<p>処理の流れを図式化できます。</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">```mermaid
flowchart TD
A["開始"] --> B["処理1"]
B --> C{"条件?"}
C -- はい --> D["処理2"]
C -- いいえ --> E["処理3"]
D --> F["終了"]
E --> F
```
</pre>
<p>👉 表示結果:</p>
<div class="wp-block-merpress-mermaidjs diagram-source-mermaid"><pre class="mermaid">flowchart TD
A["開始"] --> B["処理1"]
B --> C{"条件?"}
C -- はい --> D["処理2"]
C -- いいえ --> E["処理3"]
D --> F["終了"]
E --> F
</pre></div>
<p><strong>書式のポイント</strong></p>
<ul class="wp-block-list">
<li><code>flowchart TD</code> → 上から下(Top Down)のレイアウト</li>
<li>ノードは <code>A["ラベル"]</code> の形で定義</li>
<li>矢印は <code>--></code></li>
</ul>
<h2 class="wp-block-heading">4. ガントチャート(gantt)</h2>
<p>スケジュール管理で使える図表。</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">```mermaid
gantt
title プロジェクト計画
dateFormat YYYY-MM-DD
section 企画
要件定義 :done, des1, 2025-09-01,2025-09-05
設計 :active, des2, 2025-09-06, 5d
section 開発
実装 : des3, after des2, 7d
テスト : des4, after des3, 5d
```
</pre>
<p>👉 表示結果:</p>
<div class="wp-block-merpress-mermaidjs diagram-source-mermaid"><pre class="mermaid">gantt
title プロジェクト計画
dateFormat YYYY-MM-DD
section 企画
要件定義 :done, des1, 2025-09-01,2025-09-05
設計 :active, des2, 2025-09-06, 5d
section 開発
実装 : des3, after des2, 7d
テスト : des4, after des3, 5d
</pre></div>
<h2 class="wp-block-heading">4. クラス図</h2>
<p>オブジェクト指向のクラス関係。</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">classDiagram
class Animal {
+String name
+move()
}
class Dog {
+bark()
}
Animal <|-- Dog
</pre>
<div class="wp-block-merpress-mermaidjs diagram-source-mermaid"><pre class="mermaid">classDiagram
class Animal {
+String name
+move()
}
class Dog {
+bark()
}
Animal <|-- Dog</pre></div>
<p><strong>書き方ルール</strong></p>
<ul class="wp-block-list">
<li><code>classDiagram</code> で開始</li>
<li><code>class 名 { ... }</code> で属性やメソッド定義</li>
<li>関係記法:
<ul class="wp-block-list">
<li><code>A <|-- B</code> :継承</li>
<li><code>A *-- B</code> :コンポジション</li>
<li><code>A o-- B</code> :集約</li>
<li><code>A --> B</code> :関連</li>
</ul>
</li>
</ul>
<h2 class="wp-block-heading">4. 状態遷移図</h2>
<p>状態遷移を表す図。</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">stateDiagram-v2
[*] --> Idle
Idle --> Running : "start()"
Running --> Idle : "stop()"
Running --> Error : "fault"</pre>
<div class="wp-block-merpress-mermaidjs diagram-source-mermaid"><pre class="mermaid">stateDiagram-v2
[*] --> Idle
Idle --> Running : "start()"
Running --> Idle : "stop()"
Running --> Error : "fault"</pre></div>
<p><strong>書き方ルール</strong></p>
<ul class="wp-block-list">
<li><code>[*]</code> は開始/終了状態</li>
<li><code>状態A --> 状態B : "イベント"</code> の形式で遷移</li>
</ul>
<p></p>
<p></p>
<h2 class="wp-block-heading">5. Mermaidを書くときの注意点(WordPress編)</h2>
<ul class="wp-block-list">
<li><strong>ラベルはダブルクォートで囲むと安全</strong>(WordPressが勝手に括弧や記号を解釈しないように)</li>
<li><strong>全角スペースを避ける</strong>(行末や括弧の前に混ざると描画エラーになる)</li>
<li><strong>\n などのエスケープは使わない</strong>(そのまま改行するか短く書く)</li>
</ul>
<p></p>
Mermaid は、Markdownの中に簡単な記法を書くと シーケンス図やフローチャートを描画できるツールです。
WordPress では「MerPress」などのプラグインを導入すれば、そのまま可視化できます。
本記事では、基本の文法とサンプルを紹介します。
1. 基本の書き方
Word
一例として、WordPressの場合、Mermaid のコードは アドオンするMerPressのブロックに書きます。
これで MerPress が自動的に描画してくれます。
2. シーケンス図(sequenceDiagram)
登場人物のやり取りを時系列で表します。
```mermaid
sequenceDiagram
participant A as Alice
participant B as Bob
A->>B: "Hello Bob"
B-->>A: "Hi Alice"
```
sequenceDiagram
participant A as Alice
participant B as Bob
A->>B: "Hello Bob"
B-->>A: "Hi Alice"
3. フローチャート(flowchart)
処理の流れを図式化できます。
```mermaid
flowchart TD
A["開始"] --> B["処理1"]
B --> C{"条件?"}
C -- はい --> D["処理2"]
C -- いいえ --> E["処理3"]
D --> F["終了"]
E --> F
```
👉 表示結果:
flowchart TD
A["開始"] --> B["処理1"]
B --> C{"条件?"}
C -- はい --> D["処理2"]
C -- いいえ --> E["処理3"]
D --> F["終了"]
E --> F
書式のポイント
flowchart TD → 上から下(Top Down)のレイアウト
- ノードは
A["ラベル"] の形で定義
- 矢印は
-->
4. ガントチャート(gantt)
スケジュール管理で使える図表。
```mermaid
gantt
title プロジェクト計画
dateFormat YYYY-MM-DD
section 企画
要件定義 :done, des1, 2025-09-01,2025-09-05
設計 :active, des2, 2025-09-06, 5d
section 開発
実装 : des3, after des2, 7d
テスト : des4, after des3, 5d
```
👉 表示結果:
gantt
title プロジェクト計画
dateFormat YYYY-MM-DD
section 企画
要件定義 :done, des1, 2025-09-01,2025-09-05
設計 :active, des2, 2025-09-06, 5d
section 開発
実装 : des3, after des2, 7d
テスト : des4, after des3, 5d
4. クラス図
オブジェクト指向のクラス関係。
classDiagram
class Animal {
+String name
+move()
}
class Dog {
+bark()
}
Animal <|-- Dog
classDiagram
class Animal {
+String name
+move()
}
class Dog {
+bark()
}
Animal <|-- Dog
書き方ルール
classDiagram で開始
class 名 { ... } で属性やメソッド定義
- 関係記法:
A <|-- B :継承
A *-- B :コンポジション
A o-- B :集約
A --> B :関連
4. 状態遷移図
状態遷移を表す図。
stateDiagram-v2
[*] --> Idle
Idle --> Running : "start()"
Running --> Idle : "stop()"
Running --> Error : "fault"
stateDiagram-v2
[*] --> Idle
Idle --> Running : "start()"
Running --> Idle : "stop()"
Running --> Error : "fault"
書き方ルール
[*] は開始/終了状態
状態A --> 状態B : "イベント" の形式で遷移
5. Mermaidを書くときの注意点(WordPress編)
- ラベルはダブルクォートで囲むと安全(WordPressが勝手に括弧や記号を解釈しないように)
- 全角スペースを避ける(行末や括弧の前に混ざると描画エラーになる)
- \n などのエスケープは使わない(そのまま改行するか短く書く)
コメント