Mermaidで美しいダイアグラムを作成する方法

2025/5/31

このサイトはアフィリエイト広告を利用しています。

目次

Mermaidで美しいダイアグラムを作成する方法

Mermaidは、テキストからダイアグラムを生成するJavaScriptベースのツールです。マークダウンのような簡単な構文で、フローチャート、シーケンス図、ガントチャート、クラス図などを作成できます。

フローチャートの例

フローチャートはプロセスの流れを示すのに最適です。以下は簡単なフローチャートの例です:

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

基本的なフローチャートの例

シーケンス図の例

シーケンス図は、オブジェクト間の相互作用を時系列で表現します:

sequenceDiagram
participant ブラウザ
participant サーバー
participant データベース
ブラウザ->>サーバー: リクエスト送信
サーバー->>データベース: データ照会
データベース-->>サーバー: 結果返却
サーバー-->>ブラウザ: レスポンス送信
sequenceDiagram
  participant ブラウザ
  participant サーバー
  participant データベース

  ブラウザ->>サーバー: リクエスト送信
  サーバー->>データベース: データ照会
  データベース-->>サーバー: 結果返却
  サーバー-->>ブラウザ: レスポンス送信

Webアプリケーションの基本的な通信フロー

ガントチャートの例

プロジェクト管理に便利なガントチャートも作成できます:

gantt
title プロジェクトスケジュール
dateFormat YYYY-MM-DD
section 計画フェーズ
要件定義 :a1, 2023-10-01, 7d
設計 :a2, after a1, 10d
section 開発フェーズ
実装 :a3, after a2, 15d
テスト :a4, after a3, 7d
section リリースフェーズ
デプロイ :a5, after a4, 2d
運用開始 :milestone, after a5, 0d
gantt
  title プロジェクトスケジュール
  dateFormat  YYYY-MM-DD

  section 計画フェーズ
  要件定義           :a1, 2023-10-01, 7d
  設計               :a2, after a1, 10d

  section 開発フェーズ
  実装               :a3, after a2, 15d
  テスト             :a4, after a3, 7d

  section リリースフェーズ
  デプロイ           :a5, after a4, 2d
  運用開始           :milestone, after a5, 0d

プロジェクトスケジュールのガントチャート

クラス図の例

オブジェクト指向設計のためのクラス図も作成できます:

classDiagram
class User {
+String name
+String email
+register()
+login()
}
class Post {
+String title
+String content
+Date createdAt
+create()
+update()
}
class Comment {
+String content
+Date createdAt
+create()
}
User "1" -- "n" Post : creates
Post "1" -- "n" Comment : has
User "1" -- "n" Comment : writes
classDiagram
  class User {
      +String name
      +String email
      +register()
      +login()
  }

  class Post {
      +String title
      +String content
      +Date createdAt
      +create()
      +update()
  }

  class Comment {
      +String content
      +Date createdAt
      +create()
  }

  User "1" -- "n" Post : creates
  Post "1" -- "n" Comment : has
  User "1" -- "n" Comment : writes

ブログシステムの簡易クラス図

Mermaidの利点

まとめ

Mermaidを使えば、専用の作図ツールなしに様々なダイアグラムを簡単に作成・共有できます。特に技術ドキュメントやブログでは非常に便利なツールです。

この記事をシェアする