Shumoku

CLI リファレンス

Shumoku コマンドラインツールの使い方

shumoku render

YAML/JSON ファイルからダイアグラムをレンダリングします。

npx @shumoku/cli render <input> [options]

オプション

オプション説明
-f, --format <type>出力形式: svg, html, png(デフォルト: 拡張子から自動判定)
-o, --output <file>出力ファイル名(デフォルト: output.svg
--scale <number>PNG のスケール係数(デフォルト: 2
-h, --helpヘルプを表示
-v, --versionバージョンを表示

使用例

# SVG 出力
npx @shumoku/cli render network.yaml -o diagram.svg

# インタラクティブ HTML 出力
npx @shumoku/cli render network.yaml -f html -o diagram.html

# PNG 出力
npx @shumoku/cli render network.yaml -f png -o diagram.png

# 高解像度 PNG 出力
npx @shumoku/cli render network.yaml -f png --scale 3 -o diagram.png

# JSON から生成
npx @shumoku/cli render topology.json -o diagram.svg

# stdin から読み込み
cat network.yaml | npx @shumoku/cli render - -o diagram.svg

入力形式

拡張子で自動判定されます:

拡張子形式
.yaml, .ymlYAML
.jsonJSON
- (stdin)YAML として解釈

出力形式

形式説明用途
svgベクター画像ドキュメント埋め込み、編集
htmlインタラクティブ HTMLブラウザで閲覧、パン/ズーム
pngラスター画像プレゼン、画像として共有

PNG オプション

PNG 出力時の追加オプション:

# 高解像度出力(デフォルト: scale=2)
npx @shumoku/cli render network.yaml -f png --scale 3 -o diagram.png

TypeScript からの場合(Node.js のみ):

import { renderGraphToPng } from '@shumoku/renderer-png'

const output = await renderGraphToPng(graph, {
  scale: 3  // 解像度スケール
})

統合ワークフロー

他システムから JSON を生成して CLI でレンダリング:

# 1. 独自スクリプトで Shumoku 形式の JSON を生成
node generate-from-api.js > network.json

# 2. JSON からダイアグラム生成
npx @shumoku/cli render network.json -f html -o diagram.html

詳細は カスタム連携 を参照してください。

目次