こんにちわ。いつのまにか十月になっていて朝夕は寒くて、あまり体調がよくないおおまえです。今日は 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 に展開されているはずです。
blockdiag with Trac

すばらしいです。Wiki から手軽に簡単にブロック図を書くことができるようになりました。

ここで試してみたものはあくまで一例に過ぎないので、インストールしていろいろ試してみてください。



One thought on “TracLightning から blockdiag シリーズを使いたい

  1. プラグイン追加方法、参考にさせていただきました。
    ありがとうございます。
    無事表示できました!

Leave a reply

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> 

required