Changes between Version 2 and Version 3 of TracInterfaceCustomization


Ignore:
Timestamp:
2012/06/16 22:07:38 (9 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TracInterfaceCustomization

    v2 v3  
    1515 
    1616=== ロゴ === #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' を設定します。: 
    1818 
    1919{{{ 
     
    3838[project] 
    3939icon = /favicon.ico 
     40}}} 
     41 
     42ブラウザのアドレスバーでのアイコン表示に問題がある場合、アイコンのファイル拡張子の後に "?" (クエスチョンマーク) を置くと回避できることがあります。 
     43 
     44{{{ 
     45[project] 
     46icon = /favicon.ico? 
    4047}}} 
    4148 
     
    93100XSLT に慣れ親しんだ人であれば、 Genshi テンプレートには類似点があるのに気付くかもしれません。しかしながら Trac 固有の機能もあります。例えば '''${href.chrome('site/style.css')}''' は Environment に含まれる ''htdocs/'' にあるファイルへの参照の属性に置き換えられます。 '''${chrome.htdocs_location}''' は似ていますが、 Trac インストール時に作成された共通の ''htdocs/'' ディレクトリを指定するために使用します。 
    94101 
    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] の文法に沿って行います。ドキュメントや詳細なシンタックスは前述のリンクを参考にしてください。 
    97106 
    98107 
     
    109118}}} 
    110119 
    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] で見ることができます。 
    112125 
    1131260.10 からアップグレードされた Environment で、かつ `site_newticket.cs` ファイルが既に存在している場合は、ワークアラウンドすることによってテンプレートをロードすることができます - !ClearSilver の処理が含まれていない場合に限ります (訳注: `<?cs?>` が含まれていない場合) 。また、この場合はただ一つの要素 (element) だけがインポートされるので、コンテンツはある種のラッパー (`<div>` ブロックやそれに似た親コンテナ) を必要とします。インクルードするためには XInclude の名前空間を指定しなければなりませんが、ドキュメントルート以外にも置くことができます: 
     
    159172カスタムテンプレートを使用する場合、 Web サーバにテンプレートのロケーションの設定を読み込ませる必要があります (確かめてみてください ... まだ 0.11 向けに変更していません): 
    160173 
     174[wiki:TracModWSGI mod_wsgi] 用: 
     175{{{ 
     176os.environ['TRAC_ENV_INDEX_TEMPLATE'] = '/path/to/template' 
     177}}} 
     178 
    161179[wiki:TracFastCgi FastCGI] 用: 
    162180{{{ 
     
    201219 
    202220Trac は通常、パフォーマンスを向上させるために、テンプレートをメモリ上にキャッシュします。変更したテンプレートを適用するためには、 サーバプロセスの再起動が必要です。 
     221 
    203222---- 
    204223See also TracGuide, TracIni