close
Warning:
Can't synchronize with repository "(default)" (Unsupported version control system "darcs": Can't find an appropriate component, maybe the corresponding plugin was not enabled? ). Look in the Trac log for more information.
- Timestamp:
-
2011-11-18 01:44:17 (14 years ago)
- Author:
-
trac
- Comment:
-
--
Legend:
- Unmodified
- Added
- Removed
- Modified
-
|
v1
|
v2
|
|
| 15 | 15 | |
| 16 | 16 | === Logo === |
| 17 | | Change the `src` setting to `site/` followed by the name of your image file. The `width` and `height` settings should be modified to match your image's dimensions (the Trac chrome handler uses "`site/`" for files within the project directory `htdocs` and "`common/`" for the common ones). |
| | 17 | Change the `src` setting to `site/` followed by the name of your image file. The `width` and `height` settings should be modified to match your image's dimensions (the Trac chrome handler uses "`site/`" for files within the project directory `htdocs` and "`common/`" for the common ones). Note that 'site/' is not a placeholder for your project name, it is the actual prefix that should be used (literally). For example, if your project is named 'sandbox', and the image file is 'red_logo.gif' then the 'src' setting would be 'site/red_logo.gif', not 'sandbox/red_logo.gif'. |
| 18 | 18 | |
| 19 | 19 | {{{ |
| … |
… |
|
| 38 | 38 | [project] |
| 39 | 39 | icon = /favicon.ico |
| | 40 | }}} |
| | 41 | |
| | 42 | Should your browser have issues with your favicon showing up in the address bar, you may put a "?" (less the quotation marks) after your favicon file extension. |
| | 43 | |
| | 44 | {{{ |
| | 45 | [project] |
| | 46 | icon = /favicon.ico? |
| 40 | 47 | }}} |
| 41 | 48 | |
| … |
… |
|
| 93 | 100 | Those who are familiar with XSLT may notice that Genshi templates bear some similarities. However, there are some Trac specific features - for example '''${href.chrome('site/style.css')}''' attribute references template placed into environment's ''htdocs/'' In a similar fashion '''${chrome.htdocs_location}''' is used to specify common ''htdocs/'' directory from Trac installation. |
| 94 | 101 | |
| 95 | | site.html is one file to contain all your modifications. It usually works by the py:match (element of attribute), and it allows you to modify the page as it renders - the matches hook onto specific sections depending on what it tries to find |
| 96 | | and modify them. A site.html can contain any number of such py:match sections for whatever you need to modify. This is all [http://genshi.edgewall.org/ Genshi], so the docs on the exact syntax can be found there. |
| | 102 | `site.html` is one file to contain all your modifications. It usually works by the py:match (element or attribute), and it allows you to modify the page as it renders - the matches hook onto specific sections depending on what it tries to find |
| | 103 | and modify them. |
| | 104 | See [http://groups.google.com/group/trac-users/browse_thread/thread/70487fb2c406c937/ this thread] for a detailed explanation of the above example `site.html`. |
| | 105 | A site.html can contain any number of such py:match sections for whatever you need to modify. This is all [http://genshi.edgewall.org/ Genshi], so the docs on the exact syntax can be found there. |
| 97 | 106 | |
| 98 | 107 | |
| … |
… |
|
| 110 | 119 | |
| 111 | 120 | This example illustrates a technique of using '''`req.environ['PATH_INFO']`''' to limit scope of changes to one view only. For instance, to make changes in site.html only for timeline and avoid modifying other sections - use ''`req.environ['PATH_INFO'] == '/timeline'`'' condition in <py:if> test. |
| | 121 | |
| | 122 | More examples snippets for `site.html` can be found at [trac:wiki:CookBook/SiteHtml CookBook/SiteHtml]. |
| | 123 | |
| | 124 | Example snippets for `style.css` can be found at [trac:wiki:CookBook/SiteStyleCss CookBook/SiteStyleCss]. |
| 112 | 125 | |
| 113 | 126 | If the environment is upgraded from 0.10 and a `site_newticket.cs` file already exists, it can actually be loaded by using a workaround - providing it contains no ClearSilver processing. In addition, as only one element can be imported, the content needs some sort of wrapper such as a `<div>` block or other similar parent container. The XInclude namespace must be specified to allow includes, but that can be moved to document root along with the others: |
| … |
… |
|
| 159 | 172 | Once you've created your custom template you will need to configure the webserver to tell Trac where the template is located (pls verify ... not yet changed to 0.11): |
| 160 | 173 | |
| | 174 | For [wiki:TracModWSGI mod_wsgi]: |
| | 175 | {{{ |
| | 176 | os.environ['TRAC_ENV_INDEX_TEMPLATE'] = '/path/to/template' |
| | 177 | }}} |
| | 178 | |
| 161 | 179 | For [wiki:TracFastCgi FastCGI]: |
| 162 | 180 | {{{ |
| … |
… |
|
| 201 | 219 | |
| 202 | 220 | Trac caches templates in memory by default to improve performance. To apply a template you need to restart the server. |
| | 221 | |
| 203 | 222 | ---- |
| 204 | 223 | See also TracGuide, TracIni |