# HG changeset patch # User cmlenz # Date 1152020197 0 # Node ID 950f75b72a1e7871cdd44897a25ff71e8aa99ebc # Parent 5f0b2976f8c4da50360f555d0e47acca7c95c2b0 Trac port: use a function to build mainnav/metanav. diff --git a/examples/trac/templates/layout.html b/examples/trac/templates/layout.html --- a/examples/trac/templates/layout.html +++ b/examples/trac/templates/layout.html @@ -10,9 +10,19 @@ + + - + ${navigation('mainnav')}
${select('*')} @@ -76,7 +66,7 @@ By Edgewall Software.

- ${HTML(config.project.get('footer'))} + ${chrome.footer}

diff --git a/examples/trac/trac/web/chrome.py b/examples/trac/trac/web/chrome.py --- a/examples/trac/trac/web/chrome.py +++ b/examples/trac/trac/web/chrome.py @@ -235,20 +235,26 @@ return dirs def render_response(self, req, template_name, content_type, data): + from markup.core import Markup from markup.input import HTML, XML from markup.template import Context, TemplateLoader + from trac import __version__ as VERSION + loader = TemplateLoader(self.get_all_templates_dirs()) template = loader.load(template_name) data.setdefault('chrome', {}).update({ + 'footer': Markup(self.env.project_footer), 'logo': req.environ.get('trac.chrome.logo', {}), 'links': req.environ.get('trac.chrome.links', []), 'nav': req.environ.get('trac.chrome.nav', {}), - 'scripts': req.environ.get('trac.chrome.scripts', []) + 'scripts': req.environ.get('trac.chrome.scripts', []), + 'version': VERSION }) - data['config'] = self.config + data['req'] = req data['href'] = req.href data['perm'] = req.perm + data['Markup'] = Markup data['HTML'] = HTML data['XML'] = XML stream = template.generate(Context(**data))