trac にブログ機能を付けてみる

Trac Blog Plugin というプラグインを見つけたので入れてみた。trac 0.10 でしかテストしてないみたいだけど、trac 0.9.4 でも動いた。インストールにかなり手間取ったのでメモ。

依存するプラグイン

  • TagsPlugin・・・以前インストールしたのは0.1で、0.3以上が必要だったので TracTags-0.3.1-py2.3.egg を使った。
  • WebAdminPlugin・・・trac のバージョンが0.9.4なので TracWebAdmin-0.1.1dev_r2765-py2.3.egg を使った。

関係ないかも知れないが、上記2つのプラグインを以下のようにインストールしないとプロジェクトが作れなくなっていた。

ez_setup.py TracWebAdmin-0.1.1dev_r2765-py2.3.egg
ez_setup.py TracTags-0.3.1-py2.3.egg

trac.ini を編集する

デフォルトの状態だと components セクションはないので以下を追加。

[components]
webadmin.* = enabled
trac.wiki.web_ui.wikimodule = disabled
tractags.* = enabled

次に trac セクションの default_handler を以下のように変更する。

[trac]
default_handler = TagsWikiModule

trac プロジェクトをアップグレードする

この状態だと trac プロジェクトにアクセスするとサーバエラーになるので trac プロジェクトをアップグレードする

python scripts\trac-admin [TracEnv] upgrade

プラグインを許可する

TRAC_ADMIN 権限を持つユーザでログインし、adminページからpluginページに移動する。そうするとプラグイン一覧に

  • tblog 0.2
  • tractags 0.3.1

というメニューができているはずなので、この2つにプラグインのコンポーネントをすべて許可する(不必要なものもあるかもしれない)。
これで trac 上部のメニューに Blog メニューが表れるはず。

ブログを表示する

あとは好きなところに

[[BlogShow]]

と記述すればブログが表示される・・・はずなんだけど trac-0.9.4-ja-1 だと

Error: Macro BlogShow(None) failed
'utf8' codec can't decode byte 0x93 in position 969: unexpected code byte

とエラーが出て表示できない。 Trac Blog Plugin のページで試してみたら表示されたので、trac 0.10じゃないと無理なのかも?

ブログに投稿する

こちらは

[[BlogPost]]

と記述すれば問題ない。日本語の投稿も大丈夫なようだ。


Trac Hacksのようにトップページにプロジェクトのニュースとして表示すると便利かも。
ただ、カレンダー部分が文字化けしていたりするので(WikiCalendarMacroを使っているから?) trac 0.10 を使ったほうがいいのかな?