== How-to Display Top Level Trac Projects == Trac 0.10 and below [wiki:TracInterfaceCustomization Trac Interface Customization] explains the general way to customize. This how-to also assumes you already have one or several projects under one trac instance. Choose one of the projects to be the main source for templates. There should be a {{{/path/to/trac/project/templates}}}. Copy all of the [http://www.clearsilver.com ClearSilver] templates from the default location to the main project location template directory. For example on NCCOOS Trac, I have chosen the {{{portal}}} Trac Project to use for customizing NCCOOS Trac pages. {{{ cd /var/srv/trac/nccoos/portal/templates cp /usr/share/trac/templates/*.cs . }}} Since the template directory is already there, edit both {{{site_css.cs}}} and {{{site_header.cs}}} file to contain style and top level directory information. {{{ #ProjectNav { position: absolute; top: 80px; left: 10px; z-index: 1; } }}} {{{
NCCOOS Trac Projects: Top | Web | Platforms | Processing | Viz | Sprints | Sandbox | (Wind)
}}} Under each project edit {{{trac.ini}}} to point to new source templates {{{ [trac] templates_dir = /var/srv/trac/nccoos/portal/templates }}} Verify all are changed {{{ cd /var/srv/trac/nccoos grep templates_dir */conf/trac.ini dataproc/conf/trac.ini:templates_dir = /var/srv/trac/nccoos/portal/templates modeling/conf/trac.ini:templates_dir = /var/srv/trac/nccoos/portal/templates platforms/conf/trac.ini:templates_dir = /var/srv/trac/nccoos/portal/templates portal/conf/trac.ini:templates_dir = /var/srv/trac/nccoos/portal/templates scratch/conf/trac.ini:templates_dir = /var/srv/trac/nccoos/portal/templates sprints/conf/trac.ini:templates_dir = /var/srv/trac/nccoos/portal/templates visualization/conf/trac.ini:templates_dir = /var/srv/trac/nccoos/portal/templates windpower/conf/trac.ini:templates_dir = /var/srv/trac/nccoos/portal/templates }}} Except for the main project folder template, change the name of each project template directory or remove it. I used the dot-convention to hide it from view. For example, {{{ mv templates .templates }}} Otherwise the main source gets overruled by the local project template {{{site_css.cs}}} and {{{site_header.cs}}} contents, unless you want it to overrule for even finer customization. You should now have a unified navigation bar or whatever you customize in html or dynamic script.