こんにちはとしきふです。毎月投稿6月号はCLIの紹介です。
Mermaid CLI(mmdc
)は、Mermaid記法で書かれた図をさまざまな形式で出力するためのコマンドラインツールです。Mermaid記法で書かれたテキストファイルから、SVG、PNG、PDFなどの画像ファイルを生成できます。
このツールは、ドキュメントに図を埋め込んだり、CI/CDパイプラインで自動的に図を生成したりする際に非常に便利です。
インストール手順
mermaid-cli
のインストールにはいくつかの方法があります。
1. npm を使用したグローバルインストール (推奨)
Node.jsとnpmがインストールされている環境であれば、以下のコマンドでグローバルにインストールできます。
npm install -g @mermaid-js/mermaid-cli
注意事項:
-
brew
(Homebrew) を使用したインストールは現在非推奨であり、うまくいかない場合があります。 - Node.jsがインストールされていない場合は、先にNode.jsをインストールしてください。
2. その他のインストール方法
-
Docker/Podman: Dockerイメージをプルして使用できます。
docker pull minlag/mermaid-cli # または docker pull ghcr.io/mermaid-js/mermaid-cli/mermaid-cli
-
Node.js API: Node.jsプロジェクト内でライブラリとして使用することも可能です。
import { run } from '@mermaid-js/mermaid-cli';
-
npx: インストールせずに一時的に実行したい場合は
npx
を使用できます。npx -p @mermaid-js/mermaid-cli mmdc -h
使用方法
mermaid-cli
の基本的な使用方法は、入力ファイルと出力ファイルを指定することです。
1. 基本的な図の変換
Mermaid記法で記述されたファイル (input.mmd
など) を指定し、出力ファイル形式を指定します。
mmdc -i input.mmd -o output.svg
このコマンドは、input.mmd
ファイルの内容をSVG形式のoutput.svg
ファイルに変換します。
2. PNG形式での出力例
PNG形式で出力し、さらにテーマや背景色をカスタマイズすることも可能です。
mmdc -i input.mmd -o output.png -t dark -b transparent
このコマンドは、input.mmd
をPNG形式のoutput.png
として出力します。-t dark
でダークテーマを適用し、-b transparent
で背景を透過にします。
3. Markdownファイルの変換
Mermaid図を含むMarkdownファイルを変換し、図を画像ファイルとして出力し、Markdown内の参照を更新することも可能です。
mmdc -i input.md -o output.md
4. 標準入力からのパイプ
ファイルだけでなく、標準入力からMermaid記法を受け取ることもできます。
echo "graph TD; A-->B;" | mmdc -o output.svg
出力形式の注意点
mermaid-cli
がサポートする主な出力形式は以下の通りです。
- SVG (Scalable Vector Graphics): ベクター形式のため、拡大しても劣化しません。
- PNG (Portable Network Graphics): 背景透過をサポートするビットマップ形式です。
- PDF (Portable Document Format): ドキュメントでの利用に適した形式です。
これらの形式を選択して、用途に応じた最適な図を生成できます。
詳細な情報や最新のドキュメントについては、以下のGitHubリポジトリを参照してください。