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