diff options
| author | Yuriy Andamasov <yuriy@vyos.io> | 2026-05-06 23:22:11 +0300 |
|---|---|---|
| committer | Yuriy Andamasov <yuriy@vyos.io> | 2026-05-06 23:22:11 +0300 |
| commit | d1e5b5126af907215708fde817dcd309e579b725 (patch) | |
| tree | e742f915863d78461ca7cc97ee9af355fa745f7e /docs/conf.py | |
| parent | 4cd5e2cc3bb38b75d4e47aacd6768218daf8762a (diff) | |
| parent | 7cf51e1c2901f6d1b01e9bff194f7188bc29e417 (diff) | |
| download | vyos-documentation-d1e5b5126af907215708fde817dcd309e579b725.tar.gz vyos-documentation-d1e5b5126af907215708fde817dcd309e579b725.zip | |
Merge remote-tracking branch 'origin/current' into fix/codecopier-snippet-leak-and-clipboard-error
# Conflicts:
# docs/_static/js/codecopier.js
Diffstat (limited to 'docs/conf.py')
| -rw-r--r-- | docs/conf.py | 44 |
1 files changed, 43 insertions, 1 deletions
diff --git a/docs/conf.py b/docs/conf.py index 1c1014e0..76a00577 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -13,6 +13,7 @@ # documentation root, use os.path.abspath to make it absolute, like shown here. # import os +import shutil import sys sys.path.append(os.path.abspath("./_ext")) @@ -66,6 +67,9 @@ autosectionlabel_prefix_document = True # source_suffix = ['.rst', '.md'] source_suffix = ['.rst', '.md'] +myst_enable_extensions = ["colon_fence", "deflist", "fieldlist", "substitution"] +myst_fence_as_directive = ["cfgcmd", "opcmd", "cmdincludemd"] + # The master toctree document. master_doc = 'index' @@ -85,7 +89,17 @@ gettext_uuid = False # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. # This pattern also affects html_static_path and html_extra_path . -exclude_patterns = [u'_build', 'Thumbs.db', '.DS_Store', '_include/vyos-1x'] +exclude_patterns = [ + u'_build', 'Thumbs.db', '.DS_Store', '_include/vyos-1x', + 'rst-*.rst', '**/rst-*.rst', +] + +import pathlib +_build = pathlib.Path(__file__).parent / '_build' +if (_build / '_rst_override_state.json').exists() and (_build / '_md_exclude.txt').exists(): + exclude_patterns.extend( + s for s in (line.strip() for line in (_build / '_md_exclude.txt').read_text().splitlines()) if s + ) # The name of the Pygments (syntax highlighting) style to use. pygments_style = 'sphinx' @@ -115,6 +129,21 @@ html_extra_path = ['_html_extra'] html_baseurl = 'https://docs.vyos.io/en/latest/' +_rtd_version_type = os.environ.get('READTHEDOCS_VERSION_TYPE', '') +_github_version = ( + os.environ.get('READTHEDOCS_GIT_COMMIT_HASH', 'current') + if _rtd_version_type == 'external' + else os.environ.get('READTHEDOCS_GIT_IDENTIFIER', 'current') +) + +html_context = { + 'display_github': True, + 'github_user': 'vyos', + 'github_repo': 'vyos-documentation', + 'github_version': _github_version, + 'conf_py_path': '/docs/', +} + # sphinx-sitemap: baseurl already includes /en/latest/, so skip lang+version sitemap_url_scheme = '{link}' @@ -217,5 +246,18 @@ def _prefer_webp(app): app.builder.supported_image_types = ['image/webp'] + types +def _copy_md_sources(app, exception): + """Copy .md source files verbatim into the HTML output tree.""" + if exception is not None: + return + src = pathlib.Path(app.srcdir) + out = pathlib.Path(app.outdir) + for path in src.rglob("*.md"): + dest = out / path.relative_to(src) + dest.parent.mkdir(parents=True, exist_ok=True) + shutil.copy2(path, dest) + + def setup(app): app.connect('builder-inited', _prefer_webp) + app.connect('build-finished', _copy_md_sources) |
