| v2 | v3 | |
|---|---|---|
| 15 | 15 | |
| 16 | 16 | === ロゴ === #Logo |
| 17 | `src` の設定を `site/` に続く画像ファイルの名前に変更してください。 `width` と `height` は画像ファイルにあわせて設定を変更してください。(Trac の chrome ハンドラはプロジェクトのディレクトリ `htdocs` と "`common/`" の中のファイル用に "`site/`" を使用します。) |
|
| 17 | `src` の設定を `site/` に続く画像ファイルの名前に変更してください。 `width` と `height` は画像ファイルにあわせて設定を変更してください。(Trac の chrome ハンドラはプロジェクトのディレクトリ `htdocs` と "`common/`" の中のファイル用に "`site/`" を使用します。) Note: 'site/' はプロジェクト名の代わりに使っているのではなく、文字通り使用されるべき実際のプレフィクスです。例えば、プロジェクトに 'sandbox' という名前を付け、イメージファイルが 'red_logo.gif' である場合、 'src' には 'sandbox/red_logo.gif' ではなく、 'site/red_logo.gif' を設定します。: | |
| 18 | 18 | |
| 19 | 19 | {{{ |
| … | … | |
| 38 | 38 | [project] |
| 39 | 39 | icon = /favicon.ico |
| 40 | }}} | |
| 41 | ||
| 42 | ブラウザのアドレスバーでのアイコン表示に問題がある場合、アイコンのファイル拡張子の後に "?" (クエスチョンマーク) を置くと回避できることがあります。 | |
| 43 | ||
| 44 | {{{ | |
| 45 | [project] | |
| 46 | icon = /favicon.ico? | |
| 40 | 47 | }}} |
| 41 | 48 | |
| … | … | |
| 93 | 100 | XSLT に慣れ親しんだ人であれば、 Genshi テンプレートには類似点があるのに気付くかもしれません。しかしながら Trac 固有の機能もあります。例えば '''${href.chrome('site/style.css')}''' は Environment に含まれる ''htdocs/'' にあるファイルへの参照の属性に置き換えられます。 '''${chrome.htdocs_location}''' は似ていますが、 Trac インストール時に作成された共通の ''htdocs/'' ディレクトリを指定するために使用します。 |
| 94 | 101 | |
| 95 | site.html はサイト固有のすべての変更を含んでいる一つのファイルです。通常は、要素 (element) または属性 (attribute) として py:match を使用することでレンダリングされるページを変更することができるようになります。 py:match は特定のセクションに依存した記載が行われており、ページを検索してマッチした箇所を変更します。 | |
| 96 | site.html には変更を行うための py:match セクションをいくつでも記載することができます。これらはすべて [http://genshi.edgewall.org/ Genshi] の文法に沿って行います。ドキュメントや詳細なシンタックスは前述のリンクを参考にしてください。 | |
| 102 | `site.html` はサイト固有のすべての変更を含んでいる一つのファイルです。通常は、特定のセクション上で py:match を要素 (element) または属性 (attribute) として使用することで、カスタマイズしようとしているページを | |
| 103 | 思い通りにレンダリングすることができます。 | |
| 104 | [http://groups.google.com/group/trac-users/browse_thread/thread/70487fb2c406c937/ メーリングリスト] には上記の例の `site.html` について解説されていますので、参照してください。 | |
| 105 | `site.html` には変更を行うための py:match セクションをいくつでも記載することができます。これらはすべて [http://genshi.edgewall.org/ Genshi] の文法に沿って行います。ドキュメントや詳細なシンタックスは前述のリンクを参考にしてください。 | |
| 97 | 106 | |
| 98 | 107 | |
| … | … | |
| 109 | 118 | }}} |
| 110 | 119 | |
| 111 | この例では '''`req.environ['PATH_INFO']`''' を使用して、特定のビューだけで変更が行われるようにスコープを限定しています。例えば site.html でタイムラインだけで変更を行い、他のセクションには影響を及ぼしたくない場合は、 ''`req.environ['PATH_INFO'] == '/timelime'`'' を <py:if> での test に記載します。 | |
| 120 | この例では '''`req.environ['PATH_INFO']`''' を使用して、特定のビューだけで変更が行われるようにスコープを限定しています。例えば site.html でタイムラインだけで変更を行い、他のセクションには影響を及ぼしたくない場合は、 ''`req.environ['PATH_INFO'] == '/timelime'`'' を <py:if> の test 属性に記載します。 | |
| 121 | ||
| 122 | より多くの `site.html` の例が [http://trac.edgewall.org/wiki/CookBook/SiteHtml CookBook/SiteHtml] で見ることができます。 | |
| 123 | ||
| 124 | `style.css` の例は [http://trac.edgewall.org/wiki/CookBook/SiteStyleCss CookBook/SiteStyleCss] で見ることができます。 | |
| 112 | 125 | |
| 113 | 126 | 0.10 からアップグレードされた Environment で、かつ `site_newticket.cs` ファイルが既に存在している場合は、ワークアラウンドすることによってテンプレートをロードすることができます - !ClearSilver の処理が含まれていない場合に限ります (訳注: `<?cs?>` が含まれていない場合) 。また、この場合はただ一つの要素 (element) だけがインポートされるので、コンテンツはある種のラッパー (`<div>` ブロックやそれに似た親コンテナ) を必要とします。インクルードするためには XInclude の名前空間を指定しなければなりませんが、ドキュメントルート以外にも置くことができます: |
| … | … | |
| 159 | 172 | カスタムテンプレートを使用する場合、 Web サーバにテンプレートのロケーションの設定を読み込ませる必要があります (確かめてみてください ... まだ 0.11 向けに変更していません): |
| 160 | 173 | |
| 174 | [wiki:TracModWSGI mod_wsgi] 用: | |
| 175 | {{{ | |
| 176 | os.environ['TRAC_ENV_INDEX_TEMPLATE'] = '/path/to/template' | |
| 177 | }}} | |
| 178 | ||
| 161 | 179 | [wiki:TracFastCgi FastCGI] 用: |
| 162 | 180 | {{{ |
| … | … | |
| 201 | 219 | |
| 202 | 220 | Trac は通常、パフォーマンスを向上させるために、テンプレートをメモリ上にキャッシュします。変更したテンプレートを適用するためには、 サーバプロセスの再起動が必要です。 |
| 221 | ||
| 203 | 222 | ---- |
| 204 | 223 | See also TracGuide, TracIni |