graphvizはdot言語(?)で記述した構造を画像化するソフトだ。これをwikiのプラグインから使うというもの。 wikiで編集したdot言語が図に置き換わる。
ここのブログの以下のエントリで使っている図はgraphvizで描いたものだ。
導入
- graphvizとlibrsvg2をインストールする。FC3、FC5の場合yumなりでインストールできちゃうはず。
librsvg2はSVG出力しないか、pngでアンチエイリアスを使わない場合不要っぽいが、うちの環境では何かの依存関係ですでにインストールされていた。 - GraphvizPluginをダウンロードする。
今回使用したのは0.9 - ダウンロードしたアーカイブをどこか適当な場所に展開する。
- 展開先/graphvizplugin/0.9/ というディレクトリがあるはずなのでcdし「python setup.py bdist_egg」
展開先/graphvizplugin/0.9/dist/graphviz-0.6.9-py2.3.egg というファイルが出来たはずなので、tracプロジェクトのplugins/ディレクトリにコピーする。 細かいことはREADMEに書いてある。 - Graphviz Pluginはdotから生成した画像を保存する場所(=IMGのSRCのリンク先)が必要なのでこれを用意する。
tracdもしくはwebサーバから書き込み可能にしなければならない。環境に応じて適宜。
うちの環境では以下のディレクトリを使うことにした。tracプロジェクト/htdocs/graphviz/
- trac.iniに[graphviz]セクションを追加する。
うちの環境では以下の通り。他にもいろいろ設定できるが環境によって必須なのはgraphvizなどのコマンドのpath。[graphviz]
cache_dir = tracプロジェクト/htdocs/graphviz
png_antialias = 1 - ここの環境ではtracdを使っているので再起動した。
{{{
#!graphviz
digraph G {
graph [rankdir="LR" size="6,4"]
t1 [ label="明日は" ]
t2 [ label="明日の" ]
t3 [ label="風が" ]
t4 [ label="吹く" ]
t5 [ label="吹けば" ]
t6 [ label="桶屋が" ]
t7 [ label="儲かる" ]
t1 -> t2 -> t3 -> t4
t3 -> t5 -> t6 -> t7
a->b->c
}
}}}

という画像が生成される。日本語も問題ない。
dot言語については本家かGraphviz チュートリアルがわかりやすい。 {% endraw %} >> Home