diff --git a/_extensions/odoo/__init__.py b/_extensions/odoo/__init__.py index af3a34386..e4191e900 100644 --- a/_extensions/odoo/__init__.py +++ b/_extensions/odoo/__init__.py @@ -21,6 +21,10 @@ def setup(app): location="odoo extension") app.config.html_translator_class = 'odoo.translator.BootstrapTranslator' + add_js_file = getattr(app, 'add_js_file', None) or app.add_javascript + for f in ['jquery.min.js', 'bootstrap.js', 'doc.js', 'jquery.noconflict.js']: + add_js_file(f) + switcher.setup(app) app.add_config_value('odoo_cover_default', None, 'env') app.add_config_value('odoo_cover_external', {}, 'env') @@ -28,7 +32,9 @@ def setup(app): app.connect('html-page-context', update_meta) def update_meta(app, pagename, templatename, context, doctree): - meta = context.setdefault('meta', {}) + meta = context.get('meta') + if meta is None: + meta = context['meta'] = {} meta.setdefault('banner', app.config.odoo_cover_default) def navbarify(node, navbar=None): diff --git a/_extensions/odoo/layout.html b/_extensions/odoo/layout.html index abcdd2d16..d854af51f 100644 --- a/_extensions/odoo/layout.html +++ b/_extensions/odoo/layout.html @@ -1,12 +1,5 @@ {% extends "basic/layout.html" %} -{% set script_files = script_files + [ -'_static/jquery.min.js', -'_static/bootstrap.js', -'_static/doc.js', -'_static/jquery.noconflict.js', -] %} - {% set classes = [] %} {% if pagename == master_doc %} {% set classes = classes + ['index'] %} diff --git a/_extensions/odoo/translator.py b/_extensions/odoo/translator.py index de7901c2f..168262350 100644 --- a/_extensions/odoo/translator.py +++ b/_extensions/odoo/translator.py @@ -5,7 +5,7 @@ import re import urllib from docutils import nodes -from sphinx import addnodes, util +from sphinx import addnodes, util, builders from sphinx.locale import admonitionlabels from . import pycompat @@ -44,7 +44,12 @@ class BootstrapTranslator(nodes.NodeVisitor, object): '' ] - def __init__(self, builder, document): + def __init__(self, document, builder): + # order of parameter swapped between Sphinx 1.x and 2.x, check if + # we're running 1.x and swap back + if not isinstance(builder, builders.Builder): + builder, document = document, builder + super(BootstrapTranslator, self).__init__(document) self.builder = builder self.body = []