# 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 @@
+ type="${script.type}" src="${script.href}">
+
${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))