TracのWikiにはマクロ機能があるのですが、標準のマクロだけでは他のWikiソフトに較べると見劣りします。とくにインデックスがページ一覧しかないのは致命的なので、メニュー系のマクロを追加してみました。
TocMacro
TocMacro は設置したページ内の見出しを階層化して目次を生成してくれるマクロです。縦に長ーく延びてしまったページに設置すると、下のほうにあるアンカーにもすぐにアクセスできて便利になります。
プラグイン形式になっているので、"前回のWeb Admin Plugin":http://blog.airs.co.jp/articles/2007/02/03/trac_upgrade と同じようにインストールできます。
$ svn co http://trac-hacks.org/svn/tocmacro $ cd tocmacro/0.10/ $ python setup.py bdist_egg $ sudo cp dist/TracTocMacro-1.0-py2.3.egg /usr/lib/python2.3/site-packages/
TocMacroを利用するプロジェクトのtrac.iniに設定を追加します。
[components] ... tractoc.* = enabled
あとは、目次を生成したいページ内で好きな場所に以下のようなマクロを書けば、そのページの目次が表示されるようになります。
[[TOC]]
TracNav
TracNav はショートカット用のメニューをWiki形式で作成できるマクロです。トップページには必ず設置しましょう。こちらもプラグインになっているので、簡単にインストールできます。
$ svn co http://svn.ipd.uka.de/repos/javaparty/JP/trac/plugins/tracnav $ cd tracnav/ $ python setup.py bdist_egg $ sudo cp dist/TracNav-3.92-py2.3.egg /usr/lib/python2.3/site-packages/
トップページの最初の方に、以下のようなメニュー用のマクロを書きます。マクロのパラメータはWikiページ名なので自由に設定可能です。
[[TracNav(TocMenu)]]
これでトップページにメニューエリアが表示されるようになるので、editリンクからTocMenuページを編集することでメニューを作成することができます。プロジェクトサイトに最低限必要なページのメニューは、あらかじめ雛形として用意しておくと良いでしょう。
既存のプロジェクトに追加したらtracnav.cssが適用されずに見た目がイマイチなんですが、 社内で使う分には問題無いので余裕があるときに見直すようにするつもりです。 Apache再起動したら直りました。