diff options
Diffstat (limited to 'doc/build/builder/mako.py')
-rw-r--r-- | doc/build/builder/mako.py | 52 |
1 files changed, 17 insertions, 35 deletions
diff --git a/doc/build/builder/mako.py b/doc/build/builder/mako.py index 8003ed417..0367bf018 100644 --- a/doc/build/builder/mako.py +++ b/doc/build/builder/mako.py @@ -23,49 +23,31 @@ class MakoBridge(TemplateBridge): ) if rtd: + # RTD layout, imported from sqlalchemy.org import urllib2 - template_url = builder.config['site_base'] + "/docs_base.mako" - template = urllib2.urlopen(template_url).read() - self.lookup.put_string("/rtd_base.mako", template) + template = urllib2.urlopen(builder.config['site_base'] + "/docs_adapter.mako").read() + self.lookup.put_string("docs_adapter.mako", template) + + setup_ctx = urllib2.urlopen(builder.config['site_base'] + "/docs_adapter.py").read() + lcls = {} + exec(setup_ctx, lcls) + self.setup_ctx = lcls['setup_context'] + + def setup_ctx(self, context): + pass def render(self, template, context): template = template.replace(".html", ".mako") context['prevtopic'] = context.pop('prev', None) context['nexttopic'] = context.pop('next', None) - # RTD layout - if rtd: - # add variables if not present, such - # as if local test of READTHEDOCS variable - if 'MEDIA_URL' not in context: - context['MEDIA_URL'] = "http://media.readthedocs.org/" - if 'slug' not in context: - context['slug'] = context['project'].lower() - if 'url' not in context: - context['url'] = "/some/test/url" - if 'current_version' not in context: - context['current_version'] = "latest" - - if 'name' not in context: - context['name'] = context['project'].lower() - - context['rtd'] = True - context['toolbar'] = True - context['layout'] = "rtd_layout.mako" - context['base'] = "rtd_base.mako" - - context['pdf_url'] = "%spdf/%s/%s/%s.pdf" % ( - context['MEDIA_URL'], - context['slug'], - context['current_version'], - context['slug'] - ) # local docs layout - else: - context['rtd'] = False - context['toolbar'] = False - context['layout'] = "layout.mako" - context['base'] = "static_base.mako" + context['rtd'] = False + context['toolbar'] = False + context['base'] = "static_base.mako" + + # override context attributes + self.setup_ctx(context) context.setdefault('_', lambda x: x) return self.lookup.get_template(template).render_unicode(**context) |