summaryrefslogtreecommitdiff
path: root/docs/_ext
AgeCommit message (Collapse)Author
2026-05-12fix(ext): parse cmdincludemd content as RST so legacy `_include/*.txt` ↵Yuriy Andamasov
directives render The `_include/*.txt` library is written in reStructuredText (`.. cfgcmd::`, `.. code-block::`, `.. note::`, `.. cmdinclude::`). After the RST→MyST migration, the `{cmdincludemd}` fence on .md pages routed include content through `MockState.nested_parse`, which in MyST 2.0 simply replays the content through the MyST renderer (see myst_parser/mocking.py:153). RST directives in the .txt file then rendered as literal paragraph text: <p>.. cmdinclude:: /_include/interface-description.txt</p> <p>.. cfgcmd:: set interfaces ethernet ...</p> <p>.. code-block:: none</p> User-visible symptom (reported on rolling docs): the Ethernet, dummy, tunnel, bonding, bridge, macsec, vxlan, l2tpv3, pseudo-ethernet, virtual-ethernet, and wireless pages all showed unprocessed `.. cfgcmd::` and `.. cmdinclude::` directives instead of styled command boxes. Fix: mirror MyST's own `{eval-rst}` plumbing (`MockRSTParser().parse(text, doc)` per `mdit_to_docutils/base.py:1655`). Build a fresh document that inherits the outer document's settings + reporter, run `MockRSTParser` over the substituted include content, and graft the resulting children back into the calling document with explicit-target registration. Keeps the Sphinx env available to `cfgcmd`/`opcmd`/`cmdinclude` directives. Verified locally on rolling (Sphinx 7.x, myst-parser 2.0): zero literal `cfgcmd::` / `cmdinclude::` / `code-block::` / `opcmd::` / `note::` / `include::` strings remain in any built HTML page under `configuration/`, `automation/`, `installation/`, `operation/`, `vpp/`; all 11 affected interface pages now render proper `cfgcmd-heading` / `cfgcmd-body` blocks (e.g. ethernet.html: 160, wireless.html: 172, dummy.html: 4). 🤖 Generated by [robots](https://vyos.io) (cherry picked from commit 9c815d689a2a4a5d433ba15154cb606bd986fc8d)
2026-05-06fix: bring _ext/vyos.py compat patches from current to sagittaYuriy Andamasov
The sagitta build failed on /en/1.4/ post-flip because docs/_ext/vyos.py was missing two version-compatibility patches that current already has: - Line 224: nodes.reprunicode(path) → str(path) (docutils 0.21 removed nodes.reprunicode) - Line 367-378: myst-parser 2.0 fallback for nested_render_text — the RST 'Body' state does not expose _renderer, so the call falls back to docutils nested_parse via a ViewList These patches landed on current via earlier PRs but were never backported to sagitta. The flip PR exposed the missing patches because the new build path renders cmdinclude blocks through MyST's render_restructuredtext which uses the RST 'Body' state without _renderer. Bringing current's _ext/vyos.py byte-identical fixes both issues. The file has no sagitta-specific divergence beyond these two patches. Generated by robots https://vyos.io
2026-05-06Revert "Add incremental RST-to-MyST swap mechanism (sagitta) (#1868)" (#1894)Daniil Baturin
This reverts commit 22e34ce5aee24d2fd11f8205522ab7ecdb3c4c5e.
2026-05-06Add incremental RST-to-MyST swap mechanism (sagitta) (#1868)Yuriy Andamasov
* feat(swap-sagitta): add incremental RST-to-MyST swap mechanism Backport of the swap mechanism from feat/incremental-myst-swap onto the sagitta release branch. Built directly on top of origin/sagitta, so the underlying RST tree is sagitta's (not current's). Mechanism: - scripts/import_myst.py — import md from myst/* with md- prefix - scripts/swap_sources.py — rename md-{name}.md → {name}.md before Sphinx builds, restore after; writes _build/_swap_state.json and _build/_swap_exclude.txt - docs/Makefile — html/dirhtml/pdf/livehtml all run swap → build → trap restore; explicit `swap` and `restore` targets too - docs/conf.py — MyST extensions enabled; swap exclude_patterns loader; _prefer_webp builder hook so html prefers webp over png Content: - 202 md-prefixed pages from origin/myst/sagitta (md-{name}.md alongside each {name}.rst counterpart) - 1 plain MyST-only page from myst/sagitta where no .rst exists (already at canonical name on sagitta: docs/copyright.md) - 240 .webp images from myst/sagitta (added alongside the existing PNG/JPG so RST builds keep their assets) - docs/_swap.txt populated with all 202 stems → MyST is served by default, revert a page by removing its stem from _swap.txt 🤖 Generated by [robots](https://vyos.io) * feat(conf): copy .md sources into HTML output for plain-text serving Adds a build-finished hook that mirrors every .md file from the Sphinx source tree into the HTML output directory verbatim, making unrendered MyST sources accessible alongside HTML renders at the same URL path. 🤖 Generated by [robots](https://vyos.io) * docs: address review feedback (backport from PR #1857) Fix conversion artifacts, typos, and technical inaccuracies applicable to the sagitta branch: curly quotes, typos (deamonless, cammans, amdifferent, trough), incorrect firewall command paths, missing closing brace in zone-policy, peer name inconsistencies, hardcoded passwords replaced with vault references, and md-*.md exclusion in conf.py. 🤖 Generated by [robots](https://vyos.io) * docs: port .readthedocs.yml jobs, _ext/vyos.py fallback and swap-script tests from PR #1857 Parity backport from PR #1857 (current) — three pieces were missing on sagitta. - .readthedocs.yml: add build.jobs.pre_build / post_build hooks that run scripts/swap_sources.py --swap before the Sphinx build and --restore after. Without this, the swap mechanism ships but never runs on RTD builds for this branch — the swap is a silent no-op. - docs/_ext/vyos.py: CmdInclude.run() now falls back to nested_parse() when self.state._renderer is not present. Required for cfgcmd / opcmd / cmdincludemd directives to render correctly when included from MyST pages (the swap mechanism's whole point). Sagitta-only delta on _ext/vyos.py (the path = str(path) line on 224) is intentionally untouched. - tests/test_import_myst.py, tests/test_swap_sources.py: tests for the swap scripts. The scripts on this branch are byte-identical to current's, so the same tests apply. Travels with the branch so CI catches per-branch regressions if the scripts ever drift. 🤖 Generated by [robots](https://vyos.io) * fix(conf): skip md-*.md staging files in _copy_md_sources Agent-Logs-Url: https://github.com/vyos/vyos-documentation/sessions/919695a7-688d-41b9-89f0-540684625dbc Co-authored-by: andamasov <12631358+andamasov@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: andamasov <12631358+andamasov@users.noreply.github.com>
2024-01-19Fix "errror"s in docs/_extSebastian Weber
(cherry picked from commit 125c03f39c74fee4bf60610c74ff9b61e65a0541)
2023-09-12include releasenotes of 1.5rebortg
2023-04-17realeasenotes: change script to fix build errorsrebortg
2023-02-12T5001: Replace links to the phabricator siteChristian Breunig
Replace links to the phabricator site from https://phabricator.vyos.net to https://vyos.dev
2022-08-16add :defaultvalue: optionrebortg
(cherry picked from commit b09f2222ed6181ba377a41de37a3997559a234c8) (cherry picked from commit 1205c1e7806d4e84e03aafc94831248cbfa9b1c8)
2022-05-31improve coverage with all real vyos commands exported from isorebortg
2022-03-31vyos.py: add code to find syntax errorsrebortg
2022-03-29coverage: improve command comparingrebortg
2022-03-24improve coverage layoutrebortg
2022-03-07md: prepare include directiverebortg
2022-02-23Fix build error caused by 3474rebortg
2021-12-30correct build warningsrebortg
2021-08-27correct build error due to fault on xml definitionsrebortg
2021-06-23vyos: add proofread meta data testrebortg
2021-06-14autosectionlabel: downgrade script from sphinx 1.8.4rebortg
2021-06-11add autosectionlabel plugin and explanationrebortg
2021-02-15Releasenotes: change to proper date format, add commentrebortg
2021-02-10Releasenotes: add weekly releasenote create scriptrebortg
2021-02-03Coverage: reenable coverage page progress (#441)Robert Göhler
* Github: correct branch for vyos-1x submodule * Coverage: reenable coverage page progress * Update vyos-1x submodule (#24) Co-authored-by: rebortg <rebortg@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: rebortg <rebortg@users.noreply.github.com>
2021-02-01process overriding of defaultValue elements in XML interface definitionsJohn Estabrook
2021-01-26coverage: disable at the moment b/c of build errors and branch changesrebortg
2020-12-08coverage: improve regexrebortg
2020-11-30change include to absolute pathrebortg
2020-11-29cmdinclude: fix errormsgrebortg
2020-11-27coverage: add 'set' detectionrebortg
2020-11-26prepare coverage.rstrebortg
2020-11-23cmdinclude: fix leading spacesrebortg
2020-11-09docs: add ..cmdinclude:: directiverebortg
2020-02-18VyOS Extension: fix comandlist margin in pdf and apply custom css in htmlRobert Göhler
2020-01-04sphinx: implement latex layoutRobert Göhler
2019-12-29Sphinx: prepare tex layoutRobert Göhler
2019-12-22Sphinx: create sphinx-vyos extensionRobert Göhler