diff --git a/_extensions/odoo/layout.html b/_extensions/odoo/layout.html index 000019b32..6eba82ada 100644 --- a/_extensions/odoo/layout.html +++ b/_extensions/odoo/layout.html @@ -25,6 +25,14 @@ {{ super() }} {%- endblock -%} +{%- block linktags -%} + {% for code, url in language_codes %} + + {%- endfor %} + + {{ super() }} +{%- endblock -%} + {%- block sidebar1 -%}{%- endblock -%} {%- block sidebar2 -%}{%- endblock -%} {%- block relbar1 -%}{%- endblock -%} @@ -39,6 +47,7 @@ })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', '{{ google_analytics_key }}', 'auto'); + ga('set', 'anonymizeIp', true); ga('send','pageview'); {%- endif -%} @@ -71,8 +80,8 @@
  • eCommerce
  • Blogs
  • Forums
  • -
  • Slides
  • -
  • SEA
  • +
  • eLearning
  • +
  • Live Chat
  • @@ -89,10 +98,12 @@
  • Subscriptions
  • Sign
  • +
  • Rental
  • @@ -106,12 +117,12 @@
  • Inventory
  • @@ -125,6 +136,8 @@
  • Quality
  • +
  • Helpdesk
  • +
  • Field Service
  • @@ -139,15 +152,23 @@
  • Discuss
  • Mailing Lists
  • Notes
  • -
  • Help desk
  • -
  • Appointment
  • Timesheet
  • -
  • Email Marketing
  • Events
  • +
  • Survey
  • -
  • Live Chat
  • +
  • Approvals
  • +
  • Appointments
  • +
  • Documents
  • @@ -242,7 +263,7 @@ {% endif %} -
    +
    {% endif %} {% block body %} {% endblock %} {% if pagename != master_doc %}
    diff --git a/conf.py b/conf.py index 4668ae69d..ef97f94d3 100644 --- a/conf.py +++ b/conf.py @@ -287,6 +287,13 @@ texinfo_documents = [ # If true, do not generate a @detailmenu in the "Top" node's menu. #texinfo_no_detailmenu = False +odoo_cover_external = { + 'https://odoo.com/documentation/user/accounting/overview/main_concepts/memento.html' : 'banners/m_accounting.jpg', + 'https://odoo.com/documentation/user/inventory/overview/concepts/double-entry.html' : 'banners/m_1.jpg', + 'https://odoo.com/documentation/user/inventory/management/reporting/valuation_methods_continental.html' : 'banners/m_2.jpg', + 'https://odoo.com/documentation/user/inventory/management/reporting/valuation_methods_anglo_saxon.html' : 'banners/m_2.jpg', +} + github_user = 'odoo' github_project = 'documentation-user' @@ -321,7 +328,9 @@ def setup(app): app.add_javascript('coa-valuation-continental.js') app.add_javascript('coa-valuation-anglo-saxon.js') + app.connect('html-page-context', canonicalize) app.add_config_value('canonical_root', None, 'env') + app.add_config_value('canonical_branch', 'master', 'env') app.connect('html-page-context', analytics) app.add_config_value('google_analytics_key', '', 'env') @@ -342,8 +351,11 @@ def versionize(app, pagename, templatename, context, doctree): if not (app.config.canonical_root and app.config.versions): return + # remove last fragment containing the version + root = '/'.join(app.config.canonical_root.rstrip('/').split('/')[:-1]) + context['versions'] = [ - (vs, _build_url(app.config.canonical_root, vs, pagename)) + (vs, _build_url(root, vs, pagename)) for vs in app.config.versions.split(',') if vs != app.config.version ] @@ -387,9 +399,33 @@ def localize(app, pagename, templatename, context, doctree): for la in app.config.languages.split(',') if la != current_lang ] + context['language_codes'] = [ + (la.split('_')[0] if la != 'en' else 'x-default', _build_url(app.config.canonical_root, (la != 'en' and la or ''), pagename)) + for la in app.config.languages.split(',') + ] +def canonicalize(app, pagename, templatename, context, doctree): + """ Adds a 'canonical' URL for the current document in the rendering + context. Requires the ``canonical_root`` setting being set. The canonical + branch is ``master`` but can be overridden using ``canonical_branch``. + /documentation/user/12.0/sale.html -> /documentation/user/13.0/sale.html + /documentation/user/11.0/fr/website.html -> /documentation/user/13.0/fr/website.html + """ + if not app.config.canonical_root: + return + + # remove last fragment containing the version + root = '/'.join(app.config.canonical_root.rstrip('/').split('/')[:-1]) + root += '/' + app.config.canonical_branch + current_lang = app.config.language or 'en' + + context['canonical'] = _build_url( + root, (current_lang != 'en' and current_lang or ''), pagename) def _build_url(root, branch, pagename): + root = root.rstrip('/') + if branch: + root += '/' return "{canonical_url}{canonical_branch}/{canonical_page}".format( canonical_url=root, canonical_branch=branch,