こんにちわ。いつのまにか十月になっていて朝夕は寒くて、あまり体調がよくないおおまえです。今日は blockdiag というツールを TracLightning から使えるようにする手順を書きたいと思います。
blockdiag というのは http://blockdiag.com/ja/ によると『blockdiag シリーズはシンプルなテキストからブロック図などの画像を生成する画像生成ツール群です。』だそうです。graphviz 風のテキストからブロック図が生成できるツールで graphviz が好きな人はきっと blockdiag も好きなはずです ;)
この blockdiag を Trac から扱えるようにしたプラグインがあり、今回はこのプラグインをインストールして使えるようにします。
1. コマンドプロンプトの起動
インストール作業は easy_install コマンドが主体になるので、コマンドプロンプトを起動しておきます。「スタートメニュー」>「Trac」>「コマンドプロンプト」を使って起動してください。
2. Python Imaging Library のインストール
次に blockdiag が画像を描画するのに使用している Python Imaging Library (PIL) を easy_install コマンドでインストールします。 ここで最新版である 1.1.7 ではなく、1.1.6 をインストールします。
C:> easy_install PIL==1.1.6
なぜ PIL-1.1.6 をインストールするかというと、PIL-1.1.7 のライブラリが VC++ 2008 のデバッグ用 DLL にリンクしているために VC++ 2008 をインストールしていない環境では動作しないという問題があり、これを回避するためにこのようなことをしています。
ちなみに PIL は「Microsoft Visual C++ 2008 SP1 再頒布可能パッケージ」 (x86, x64) が必要なので、インストールしていない場合にはここで一緒にインストールしておきましょう。
3. blockdiag シリーズのインストール
同じく easy_install を使って簡単にインストールできます。
C:> easy_install blockdiag
C:> easy_install seqdiag
C:> easy_install actdiag
C:> easy_install nwdiag
ちゃんとインストールできていれば、blockdiag コマンドが使えるはずなので確かめておきます。その他のコマンドも確かめておきましょう。
C:> blockdiag -h
Usage: blockdiag-script.py [options] infile
Options:
--version show program's version number and exit
-h, --help show this help message and exit
-a, --antialias Pass diagram image to anti-alias filter
-c FILE, --config=FILE
read configurations from FILE
-o FILE write diagram to FILE
-f FONT, --font=FONT use FONT to draw diagram
-P, --pdb Drop into debugger on exception
-s, --separate Separate diagram images for each group (SVG only)
-T TYPE Output diagram as TYPE format
--nodoctype Do not output doctype definition tags (SVG only)
C:> blockdiag --version
blockdiag-script.py 0.9.4
4. TracBlockDiagPlugin のインストール
これも easy_install から簡単にインストールできます。現時点では 0.5.0 です。
easy_install http://trac-hacks.org/svn/tracblockdiagplugin/0.12
5. TracLightning の再起動
必要なモジュール、プラグインをインストールしたので、ここで再起動しておきます。管理ツールで再起動、もしくはコマンドラインから以下のように入力しても再起動できます。
C:> net stop traclightning
C:> net start traclightning
6. trac.ini の設定
プラグインを有効にするために、以下の記述を C:\TracLight\python\share\trac\conf\trac.ini の [components] セクションに追加します。
blockdiagplugin.* = enabled
さらに blockdiag で使用するフォントを指定するために、以下の設定を追加します。
[blockdiag]
font = C:\WINDOWS\FONTS\msgothic.ttc
ここで指定したフォントを使ってブロック図の文字が描画されるようになっていて、この指定がないと文字化けを起こすはずです。メイリオが好きな人は代わりに meiryo.ttc にしたり、自分の好きなフォントをフルパスで指定してみてください。
7. 実際に使ってみる
適当なプロジェクトの Wiki ページで以下のようなのを書きこんでみます。
{{{#!blockdiag(type=png)
diagram admin {
// Set M17N text using label property.
A [label = "起"];
B [label = "承"];
C [label = "転"];
D [label = "結"];
A -> B -> C -> D;
// Use M17N text directly (need to quote).
春 -> 夏 -> 秋 -> 冬;
// Use M17N text including symbol characters (need to quote).
"春は 曙" -> "夏 = 夜" -> "秋.夕暮れ" -> "冬 & つとめて";
}
}}}
すべて問題なくインストール・設定できていれば以下のような形でブロック図が Wiki に展開されているはずです。
すばらしいです。Wiki から手軽に簡単にブロック図を書くことができるようになりました。
ここで試してみたものはあくまで一例に過ぎないので、インストールしていろいろ試してみてください。