blockdiag 使ってみた

# 最近タイトルがゆるゆるになっている気がする。


仕事用資料で、ちまちま Keynote で画面遷移図作っていたら、
blockdiag 使いましょう」と言われたので使ってみました。
ちょこっと引っかかったものの、とてもステキに使えました。
非常に周回遅れな感もありますが、紹介と設定の備忘録に書いておきます。


本家:ブロック図生成ツール blockdiag — blockdiag 1.0 ドキュメント


インストール

pip とか virtualenv とか入ってる前提で。

$ mkvirtualenv --no-site-packages diag
(diag)$ pip install pil
(diag)$ pip install blockdiag


Python のバージョンとか指定しなくても動作できました。
今の手元環境だと 2.6 と 2.7 が入ってると思うのだけど…?

作ってみる

適当な場所でファイル作成。
日本語でも作成出来るのが素晴しい。


sample.diag

diagram {
  TOP -> ユーザ登録[label=未登録];
  ユーザ登録 -> マイページ;
  TOP -> ログイン[label=登録済];
  ログイン -> マイページ;
  マイページ -> 履歴;
  マイページ -> 更新;
  マイページ, 履歴, 更新 -> ログアウト;

  group login {
    label = ログイン後;
    マイページ;
    履歴;
    更新;
  }
}


実行
(diag)$ blockdiag sample.diag


出来た画像:sample.png


-T オプションで png 以外に pdf でも出力可能だったり、
グループ表示も階層化可能で、グループに名前ラベルつけれたりとか、
色設定も色々出来たりと、かなり便利。


Keynote で書いてた程度のことは簡単に再現出来ました。
編集もテキストファイルをいじって、再度実行するだけなので手間いらず。
「1ドットズレたー!」なんて言う要らないストレスから解放されます。


まだ簡単なモノしか作ってないのでこの程度です。申し訳ない。
Sphinx と合わせてこれから使い込んで行きますー。