うまいぼうぶろぐ

linuxとhttpdとperlのメモ

blockdiag でテキストからダイアグラム作成

blockdiag

blockdiag generate block-diagram image file from .diag file. .diag file is similar to DOT file (graphviz’s).

とあるとおり、graphviz と同様にtextから図を生成できる素敵software。python製。

sample:

特徴

ドキュメントをざっと斜め読みした第一印象。

  • ノードの形(shape) の種類や、線の種類がgraphviz より豊富
  • 画像や色の見た目がgraphvizより 見やすくてかっこいい (影がついてるとか
  • ノード間を配線を直角でかける (graphvizは描けない
    • ささいなことかもしれないけど、個人的にはこれがかなり気に入っている
    • graphvizでNW構成図書くと、丸みを帯びてしまって締まらない感じになるので
  • pngの他にsvg,pdfで出力可能
  • sphinx (ドキュメント生成ツール) との連携が可能

直角の件についてはtwitter で作者の方からreplyもらいました。ヒーハー

install

bitbucketの公式に詳細が書いてます。python で出来ているのでeasy_install からinstall。
debian 5.0 だと、aptでpython-setuptools に入ってる。

$ sudo apt-get install python-setuptools
$ sudo easy_install blockdiag

pdf形式で出力したい場合は 引数つけてblockdiagをinstall。pythonreportlabもいる。自分の環境だとeasy_install ではreportlabが入らなかったので、それもaptで入れた。

$ sudo apt-get install python-reportlab
$ sudo easy_install "blockdiag[pdf]"

その他

blockdiag 以外にも親戚のnwdiag(network構成図), seqdiag(sequence), actdiag(アクティビティ図) がある。