diff --git a/doc/_templates/breadcrumbs.html b/doc/_templates/breadcrumbs.html index 499354e523d..c0052e0ce53 100644 --- a/doc/_templates/breadcrumbs.html +++ b/doc/_templates/breadcrumbs.html @@ -17,4 +17,12 @@
  • +
  • + {%- if display_vcs_link %} + {% set vcs_url = pagename | vcs_link_get_url %} + {% if vcs_url %} + {{ _('Open on GitHub') }} + {% endif %} + {% endif %} +
  • {%- endblock %} diff --git a/doc/conf.py b/doc/conf.py index 867d6466e9d..5694d134a38 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -80,6 +80,7 @@ extensions = [ "sphinx_tabs.tabs", "zephyr.warnings_filter", "zephyr.doxyrunner", + "zephyr.vcs_link", "notfound.extension", "zephyr.external_content", ] @@ -149,6 +150,7 @@ html_context = { ("2.3.0", "/2.3.0/"), ("1.14.1", "/1.14.1/"), ), + "display_vcs_link": True, } # -- Options for LaTeX output --------------------------------------------- @@ -221,6 +223,21 @@ warnings_filter_silent = False notfound_urls_prefix = f"/{version}/" if is_release else "/latest/" +# -- Options for zephyr.vcs_link ------------------------------------------ + +vcs_link_version = f"v{version}" if is_release else "main" +vcs_link_base_url = f"https://github.com/zephyrproject-rtos/zephyr/blob/{vcs_link_version}" +vcs_link_prefixes = { + "samples/.*": "", + "boards/.*": "", + ".*": "doc", +} +vcs_link_exclude = [ + "reference/kconfig.*", + "reference/devicetree/bindings.*", + "reference/devicetree/compatibles.*", +] + # -- Options for zephyr.external_content ---------------------------------- external_content_contents = [