Trac のプロジェクト一覧のテンプレート
Trac ネタは相当久しぶり。
テンプレートはプロジェクト単位でカスタマイズできるが、プロジェクト一覧はどのプロジェクトにも属さないため、個別のテンプレートでは対応できない。プロジェクト一覧の内容をカスタマイズするためには、作成した ClearSilver Templete をオプション変数 TRAC_ENV_INDEX_TEMPLATE に指定する。*1
Trac 0.9 のデフォルトでは、
<html> <head> <title>Available Projects</title> </head> <body> <h1>Available Projects</h1> <ul><?cs each:project = projects ?> <li> <?cs if:project.href ?> <a href="<?cs var:project.href ?>" title="<?cs var:project.description ?>"><?cs var:project.name ?></a> <?cs else ?> <small><?cs var:project.name ?>: <em>Error</em> <br /> (<?cs var:project.description ?>)</small> <?cs /if ?> </li> <?cs /each ?></ul> </body> </html>
となっているが、サーバ/クライアントの設定によっては、
<a href="<?cs var:project.href ?>" title=...
という場所を
<a href="<?cs var:project.href ?>/" title=...
としないといけない。httpd.conf では、
PythonOption TracEnvIndexTemplate path/to/clearsilver/templete/file SetEnv TRAC_ENV_INDEX_TEMPLATE path/to/clearsilver/templete/file
となる。*2