| 1 | = Trac Layout Recipe |
| 2 | |
| 3 | This is a recipe explaining how to reproduce the official edgewall.org site layout and design using SiteHtml and SiteStyleCss. |
| 4 | |
| 5 | The layout described below is ideal for Trac setups where one organization (e.g. Edgewall Software) offers multiple projects (e.g. Trac, Bitten, Genshi, etc.). |
| 6 | |
| 7 | == Prepare `site.html` Template |
| 8 | The first step is to prepare a `site.html` template that will be used by all projects. |
| 9 | |
| 10 | There are two ways to specify a `site.html` template for an environment: |
| 11 | 1. Set the `templates_dir` in the `[inherit]` section of each `trac.ini` to the same directory (e.g. `/path/to/common/templates`), and save the `site.html` file in that directory. |
| 12 | 1. Copy the `site.html` file to the `templates` directory of all environments (or better yet, create symlink in all directories to a single common location). |
| 13 | |
| 14 | A reference `site.html` template may be found in the `templates` directory of the [attachment:TracLayoutRecipe.zip zip archive] attached to this page. |
| 15 | The reference file is documented inline, so I will just give a short overview of the template: |
| 16 | - It begins by adding a [#SiteCss CSS file] to the ''head'' -- make sure to update the URL if needed for your setup. |
| 17 | - It includes a list of topnav items as quick-jumps between projects -- make sure to modify it to your specific project-list, as it is hardcoded. |
| 18 | - It includes a left box and right box that will appear on the left-hand side and right-hand side of each page. You can use these boxes for whatever you want (e.g. quick links, Google ads, etc.).[[BR]] |
| 19 | An example for a left box is included in `templates/site_leftbox.html` in the [attachment:TracLayoutRecipe.zip zip archive].[[BR]] |
| 20 | There is no right box in the example... |
| 21 | - There's also a footer section for contact & copyrights information (or anything else you'd like to put there). |
| 22 | |
| 23 | == Adjust the Site Style Sheet #SiteCss |
| 24 | A reference `projects.css` style sheet is included in the attached [attachment:TracLayoutRecipe.zip zip archive] (under the `css` directory), with the styles of the edgewall.org site. |
| 25 | |
| 26 | You may modify and adjust the style sheet to meet your artistic taste. |
| 27 | |
| 28 | One important thing to notice with respect to the `projects.css` file is that it refers to various images (used for backgrounds, gradients, etc.). |
| 29 | |
| 30 | All images needed may be found in the `gfx` directory of the attached [attachment:TracLayoutRecipe.zip zip archive], |
| 31 | but the `projects.css` file assumes that the images are available under the `../gfx` directory, where `..` refers to one level up relative to the directory in which the `projects.css` is located. |
| 32 | |
| 33 | You must make sure that one of the following is met: |
| 34 | 1. The `gfx` directory is visible, and is one level up relative to the `css` directory. |
| 35 | 2. All references to `../gfx` in `projects.css` are replaced with a correct URL. |
| 36 | Note that the paths in this context are URLs, not filesystem paths. |
| 37 | |
| 38 | ---- |
| 39 | See also: TracInterfaceCustomization, SiteHtml, SiteStyleCss |