(19日目) blockdiag を Pukiwiki で使ってみよう
昨日の記事では Trac の Wiki に blockdiag の図を埋め込む方法をご紹介しました。
今日は他のドキュメントツールである Pukiwiki に blockdiag の図を埋め込む方法をご紹介しましょう。
Pukiwiki は PHP で動作する Wiki クローンのひとつで、現在は開発が止まっていますがそれでも強い人気を誇っています。
Pukiwiki 用の blockdiag プラグインは @hekyou さんが開発されたものです。
@hekyou さんは他にも複数人で blockdiag の図を編集できる Interactive shell live!! を開発されるなど、
blockdiag にいろいろ貢献されています :-)
インストール
Pukiwiki のインストールを行います。
Pukiwiki はアーカイブをダウンロードして設定ファイルを書き換えるだけで動くお手軽パッケージです。
ダウンロードした後、/var/www/wiki にファイルを設置します。
また、blockdiag プラグインも一緒に設置します。
ファイルをダウンロードしたあと、/var/www/wiki/plugin に設置します。
$ cd /tmp $ wget -O pukiwiki-1.4.7_notb_utf8.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=%2Fpukiwiki%2F12957%2Fpukiwiki-1.4.7_notb_utf8.tar.gz' $ wget https://raw.github.com/hekyou/diag-pukiwiki-extension/master/diag.inc.php $ cd /var/www $ sudo tar xzvf /tmp/pukiwiki-1.4.7_notb_utf8.tar.gz $ sudo mv pukiwiki-1.4.7_notb_utf8 wiki $ sudo mv /tmp/diag.inc.php wiki/plugin $ sudo chown -R www-data.www-data wiki $ sudo chmod -R o-w wiki
次に設定ファイル(pukiwik.ini.php)を編集します。
途中で管理用のパスワードを埋め込むところがあるので、パスワードの MD5 を生成しておきます。
$ echo -n 'password' | md5sum 5f4dcc3b5aa765d61d8327deb882cf99 -
$ sudo vi pukiwiki.ini.php
ここでは編集した箇所だけピックアップしました。
// Site admin's name (CHANGE THIS) $modifier = 'tk0miya'; // Site admin's Web page (CHANGE THIS) $modifierlink = 'http://capella.monochrome.jp/wiki/'; // Default: always fail $adminpass = '{x-php-md5}5f4dcc3b5aa765d61d8327deb882cf99'; define('PKWKEXP_DISABLE_MULTILINE_PLUGIN_HACK', 0); // 1 = Disabled // variables for blockdiag defined('PLUGIN_DIAG_IMAGE_DIR') or define('PLUGIN_DIAG_IMAGE_DIR', '/tmp/'); defined('PLUGIN_DIAG_BLOCKDIAG_PATH') or define('PLUGIN_DIAG_BLOCKDIAG_PATH', '/usr/local/bin/blockdiag'); defined('PLUGIN_DIAG_NWDIAG_PATH') or define('PLUGIN_DIAG_NWDIAG_PATH', '/usr/local/bin/nwdiag'); defined('PLUGIN_DIAG_SEQDIAG_PATH') or define('PLUGIN_DIAG_SEQDIAG_PATH', '/usr/local/bin/seqdiag'); defined('PLUGIN_DIAG_ACTDIAG_PATH') or define('PLUGIN_DIAG_ACTDIAG_PATH', '/usr/local/bin/actdiag'); define('PLUGIN_DIAG_FONT_PATH', '--font=/usr/share/fonts/truetype/ipafont/ipagp.ttf');
使ってみる
Pukiwiki の画面から Wiki の編集を選択します。
サンプルとして以下のテキストを入力してみます。
#diag(block){{ blockdiag { A -> B -> C, D; } }} #diag(seq){{ seqdiag{ A -> B -> C -> B; } }}
保存すると次のように Pukiwiki のページ内に blockdiag や seqdiag の図を埋め込むことができます。
Trac の場合と同じように、前後に {{ や }} などの記号が必要ですが、
それ以外は普段の blockdiag の書き方をそのまま指定することができます。
個人的には Sphinx が一押しですが、既存のドキュメントが pukiwiki でまとめられていた場合でも、
プラグインをいれることでかんたんに埋め込むことができます。
Pukiwiki ユーザーの方も是非試してみてはいかがでしょうか。