MermaidダイアグラムをSVG・PNGとしてエクスポート
MermaidダイアグラムをSVGとPNG画像としてエクスポートする方法を学びます。ベクターとラスター形式の比較、CLIワークフロー、ブラウザベースのエクスポート、CI/CD自動化を解説。
Integration & Workflow
詳細な説明
Mermaidダイアグラムのエクスポート
Mermaidダイアグラムは対応プラットフォームできれいにレンダリングされますが、プレゼンテーション、メール、Mermaid非対応のWiki、印刷物には静的な画像ファイルが必要になることがよくあります。MermaidはSVG(ベクター)とPNG(ラスター)へのエクスポートをサポートしています。
SVG vs PNG
| 観点 | SVG | PNG |
|---|---|---|
| 種類 | ベクター | ラスター |
| 拡大縮小 | 無限 — 品質劣化なし | 固定解像度 |
| ファイルサイズ | 通常より小さい | 高解像度では大きい |
| テキスト | 選択・検索可能 | ピクセルに変換 |
| 最適な用途 | ドキュメント、Web、プレゼン | チャット、メール、SNS |
| ダークモード | CSSでスタイル変更可能 | 静的 — 別バージョンが必要 |
ブラウザベースのエクスポート
DevToolbox Mermaidビューアーではブラウザから直接エクスポートできます:
- Mermaidコードを書くか貼り付ける
- レンダリングされたダイアグラムを確認
- Export SVGまたはExport PNGをクリック
- ファイルが自動的にダウンロードされます
この方法はインストール不要で、どのOSでも動作します。
CLIベースのエクスポート
自動化やバッチエクスポートには公式Mermaid CLIを使用します:
# グローバルインストール
npm install -g @mermaid-js/mermaid-cli
# 単一ファイルの変換
mmdc -i diagram.mmd -o diagram.svg
mmdc -i diagram.mmd -o diagram.png
# PNGのサイズ指定
mmdc -i diagram.mmd -o diagram.png -w 1920 -H 1080
# カスタムテーマの使用
mmdc -i diagram.mmd -o diagram.svg -t dark
# 全.mmdファイルの一括変換
for f in *.mmd; do mmdc -i "$f" -o "${f%.mmd}.svg"; done
CI/CD自動化
パイプラインでダイアグラム生成を自動化します:
# GitHub Actionsの例
- name: Generate diagrams
uses: mermaid-js/mermaid-cli-action@v1
with:
input: docs/diagrams/
output: docs/images/
format: svg
ドキュメントのソースファイルが変更された際に、ダイアグラムが常に最新であることを保証します。
高品質エクスポートのヒント
- ドキュメントにはSVGを使用 — 完全にスケーラブルでテキスト検索をサポートします。
- PNG背景を設定 — デフォルトではPNGエクスポートは透明背景になる場合があります。必要に応じて
--backgroundColor whiteを使用してください。 - PNGスケールを上げる — Retinaディスプレイ用に
-s 2で2倍解像度にします。 - ソースと出力の両方をコミット — 更新を容易にするため、
.mmdファイルを生成画像と一緒にバージョン管理に保持しましょう。
ユースケース
マイクロサービスアーキテクチャに関するカンファレンス講演を準備するデベロッパーアドボケイトのケース。Mermaidシーケンス図をスライド用に高解像度PNG、付随するブログ記事用にSVGとしてエクスポートし、どの画面サイズでもシャープなレンダリングを保証します。