summaryrefslogtreecommitdiff
path: root/docs/contributing
AgeCommit message (Collapse)Author
2026-05-10chore: remove RST swap mechanism, archive rst-*.rst under docs/_rst_legacy/Yuriy Andamasov
The swap mechanism (RST-as-fallback for migrated MD pages) is dormant — docs/_rst_overrides.txt has been empty since the MyST flip trio (#1899/#1900/#1901) landed. The mechanism's surface area is dead weight and the rst-*.rst shadows scattered across the source tree cause Context7's parser to misclassify the project as RST. Sibling PR on rolling: yuriy/remove-rst-swap-mechanism Changes: - Move 253 rst-*.rst shadow files into docs/_rst_legacy/ preserving subdirectory structure. They remain in the repo for reference; Sphinx excludes the folder via exclude_patterns. - Strip swap_sources.py invocation from docs/Makefile. - Strip jobs: pre_build/post_build block from .readthedocs.yml. - Strip rst-*.rst exclude entry and the _md_exclude.txt loader from docs/conf.py; replace with a single _rst_legacy exclude. - Delete scripts/swap_sources.py, tests/test_swap_sources.py, docs/_rst_overrides.txt. - Update AGENTS.md: drop the "RST override mechanism" section and the test-runner snippet for the deleted test. Verified: sphinx-build -b html with --keep-going produces identical warning set (68 unique), identical sitemap entry count (267), identical llms.txt entry count (22), zero rst-* URLs in any artifact. 🤖 Generated by [robots](https://vyos.io)
2026-05-06feat: flip swap mechanism on circinus — MD as primary, RST as overrideYuriy Andamasov
Mirror of #1899 for circinus. Same logic, same scripts, per-branch file set. Changes: - Rename docs/**/md-<stem>.md to docs/**/<stem>.md (drop md- prefix) for all 253 stems previously listed in docs/_swap.txt - Rename docs/**/<stem>.rst to docs/**/rst-<stem>.rst (add rst- prefix) for the same 253 stems - Repurpose docs/_swap.txt as docs/_rst_overrides.txt; initially empty - conf.py exclude_patterns flipped: rst-*.rst excluded by default - conf.py runtime-artifact references updated to _rst_override_state.json and _md_exclude.txt - scripts/swap_sources.py rewritten with inverted rename direction (rst-<stem>.rst → <stem>.rst when applying overrides; <stem>.md excluded via _md_exclude.txt) - scripts/import_myst.py and tests/test_import_myst.py deleted (obsolete) - tests/test_swap_sources.py rewritten for new semantics Identical change set to #1899 (current). Per-branch differences: - circinus has 253 stems vs current's 254 (suricata is current-only) - otherwise the script/conf.py/test changes are byte-identical with current Generated by robots https://vyos.io
2026-05-06feat: import MyST swap mechanism, llms.txt feature, and content from currentYuriy Andamasov
Replaces the broken #1885/#1869/#1875 trio with a single PR for circinus. This PR: - Imports 254 md-*.md files from currents working MyST conversion (the broken converter that produced #1885s md-*.md files is not used here; currents files are correct as verified on /en/rolling/). - Adds the per-page RST-to-MyST swap mechanism: scripts/swap_sources.py, scripts/import_myst.py, tests, _swap.txt, _ext/vyos.py and Makefile swap-wrapped targets, .readthedocs.yml pre/post hooks. - Replaces 175 .jpg/.png with 187 .webp images for swapped pages. - Adds the llms.txt + sitemap feature (sphinx_llms_txt, sphinx_sitemap) with circinus-tailored html_baseurl https://docs.vyos.io/en/1.5/ and curated docs/_html_extra/llms.txt for 1.5.x. - Updates docs/_html_extra/robots.txt with AI crawler Allow rules and the /en/1.5/sitemap.xml reference. - Drops configuration/service/suricata from the swap set (no matching RST sibling on circinus; suricata is a current-only feature). Supersedes: - #1885 (broken md-*.md converter output) - #1869 (LLM doc adaptation backport, bundled here) - #1875 (llms.txt circinus, bundled here) Generated by robots https://vyos.io
2026-05-06Revert "docs: fix typos and grammar (ported from #1852 RST → MyST)"Yuriy Andamasov
2026-05-06feat(swap-circinus): add incremental RST-to-MyST swap mechanismYuriy Andamasov
Backport of the swap mechanism from feat/incremental-myst-swap onto the circinus release branch. Built directly on top of origin/circinus, so the underlying RST tree is circinus'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 (all from origin/myst/circinus): - 253 md-prefixed pages alongside each {name}.rst counterpart - 1 plain MyST-only page kept at canonical name (docs/copyright.md, no .rst counterpart) - 182 .webp images added (circinus release previously had only PNG/JPG; this PR brings webp into circinus alongside the originals) - docs/_swap.txt populated with all 253 stems → MyST is served by default; revert a page by removing its stem from _swap.txt 🤖 Generated by [robots](https://vyos.io)
2026-05-06Revert "Add incremental RST-to-MyST swap mechanism (circinus) (#1867)" (#1893)Daniil Baturin
This reverts commit 5eb383a10ec92c65eed525bc174785a6852e997f.
2026-05-06Add incremental RST-to-MyST swap mechanism (circinus) (#1867)Yuriy Andamasov
* feat(swap-circinus): add incremental RST-to-MyST swap mechanism Backport of the swap mechanism from feat/incremental-myst-swap onto the circinus release branch. Built directly on top of origin/circinus, so the underlying RST tree is circinus'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 (all from origin/myst/circinus): - 253 md-prefixed pages alongside each {name}.rst counterpart - 1 plain MyST-only page kept at canonical name (docs/copyright.md, no .rst counterpart) - 182 .webp images added (circinus release previously had only PNG/JPG; this PR brings webp into circinus alongside the originals) - docs/_swap.txt populated with all 253 stems → MyST is served by default; revert a page by removing its stem from _swap.txt 🤖 Generated by [robots](https://vyos.io) * fix(ext): handle RST fallback in CmdInclude when _renderer absent `cmdincludemd` is in `myst_fence_as_directive`, so MyST routes fence blocks through `render_fence → render_restructuredtext → MockRSTParser`. In that path `self.state` is a plain docutils Body with no `_renderer`, crashing the RTD build. Fall back to `nested_parse` when `_renderer` is unavailable so the directive works in both MyST and RST/MockRSTParser contexts. 🤖 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) 🤖 Generated by [robots](https://vyos.io) * docs: port .readthedocs.yml jobs and swap-script tests from PR #1857 Parity backport from PR #1857 (current) — was missing on circinus. - .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. - tests/test_import_myst.py, tests/test_swap_sources.py: tests for the swap scripts. The scripts are 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(review): add conftest, filter md- from copy, fix _prefer_webp builder list, trailing newline Agent-Logs-Url: https://github.com/vyos/vyos-documentation/sessions/64b17346-8739-4346-b619-84438cddef21 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>
2026-04-03Split troubleshooting, add contributing index, clean VPN structure (#1804) ↵mergify[bot]
(#1815) * Add design spec for documentation improvements Covers 4 work streams: mechanical fixes (headings, indentation, typos), content quality (TODO flags, TBD fills, stub markers), structural reorganization (troubleshooting split, contributing index, VPN cleanup), and RTD platform cleanup (hide versions, delete stale redirects). * Fix spec issues from review: correct heading chars, tab counts, line numbers Addresses 10 reviewer findings: corrected heading character types (^ was actually -), removed ip.rst (already correct), updated file count from 37 to 35, listed all 13 tab-containing files, fixed troubleshooting line count to 460, added heading level guidance for split pages, clarified contributing/documentation.rst scope, removed current from hide list, added rollback verification step, updated success criteria. * Add implementation plan for documentation improvements 16 tasks across 4 work streams: mechanical fixes (PR 1, tasks 1-6), content quality (PR 2, tasks 7-10), structural reorg (PR 3, tasks 11-14), and RTD platform cleanup (tasks 15-16). * Fix 6 issues from plan review - Replace hardcoded RTD token with $RTD_TOKEN variable - Fix Task 7 heading reference to be format-agnostic - Correct RTD PATCH expected response (200, not 204) - Fix version verification to check hidden field, not active - Account for blank lines 402-403 in troubleshooting split - Clarify start/stop_vyoslinter handling in system.rst * refactor: split troubleshooting into 5 focused sub-pages Split monolithic 460-line troubleshooting/index.rst into: - connectivity.rst (ping, traceroute, mtr, IPv6 discovery) - interfaces.rst (interface naming, MAC addresses) - monitoring.rst (traffic dumps, bandwidth, iperf) - terminal.rst (console clearing, counter resets) - system.rst (boot steps, system information) * refactor: create contributing/index.rst, simplify root toctree * fix: remove 'pages to sort' placeholders from VPN section * fix: wrap long lines in index.rst for linter compliance * Add design spec for sitemap generation improvement * Fix sitemap spec: remove invalid sitemap_excludes, add version pin * fix: address Copilot review suggestions — grammar, typos, RST markup fixes * fix: resolve remaining long lines in index.rst Shorten :ref: display text on two lines that exceeded the 80-char limit: "Virtual Environment" -> "VM" (line 24, 90 -> 73 chars) and "Configuration Blueprints" -> "Blueprints" (line 51, 85 -> 71 chars). Both targets remain correct; display text is clear in context. * chore: remove superpowers specs from PR Specs moved to personal branch yuriy/docs-modernization-specs. --------- (cherry picked from commit dad139434e34d3bbf24fd46c8fa8ea7a54177d0a) Co-authored-by: Yuriy Andamasov <yuriy@vyos.io> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-01-30DOC: Remove outdated upstream package documentation (#1746)Quill
* Remove outdated upstream package documentation Upstream packages are now built through a Python script, 'build.py' from the vyos-build repository: https://github.com/vyos/vyos-build/tree/current/scripts/package-build/build.py * Add build.py details to upstream-packages.rst * Fix line length lint errors
2026-01-27Proofread docs in the /contributing directory (#1718)Quill
* Proofread upstream-packages.rst * Fix line length lint errors * Initial copyedit for testing.rst * Proofread build-vyos.rst * Fix line length errors * Proofread debugging.rst * Proofread issues-features.rst * Complete issuesfeatures.rst proofreading * Initial proofread development.rst * Revise proofreading of development.rst * Remove mentions of Phabricator and Jenkins CI * Fix line length lint errors * Fix additional line length lint errors
2025-10-13cla: Add CLA references and instructions (#1690)zdc
- Added a dedicated page describing the process of signing the CLA - Added references to this page on documents explaining how to submit code and documentation changes
2025-09-18Removing extra empty code block (#1684)jsinme
2025-03-29T7289: Add submodule argument to clone examplesarthurdev
2025-01-21Misc updates and outdated info removals in ContributingDaniil Baturin
2025-01-21Document the new status of LTS reposDaniil Baturin
(they are no longer available to people without subscriptions)
2024-12-14debugging: document new config migration helperChristian Breunig
2024-12-11Fix typos and add constraints on conf-mode scripts under configdJohn Estabrook
2024-09-03T6231: Add documentation for building Mellanox OFED drivers (#1488)RageLtMan
2024-07-09Fix Typo in build-vyos.rstMarkus Hauschild
2024-06-05 Changed parameter flavor from iso to generic for 1.5 (circinus, current)Sam
The flavor has been renamed in this branch. https://vyos.dev/T6414
2024-04-21testing: add hint for smoketest debuggingChristian Breunig
2024-04-16Docs: refresh the issue/features page guidelinesDaniil Baturin
2024-01-17Fix typos in build-vyosSebastian Weber
2024-01-17Fix spelling in contributingSebastian Weber
2023-12-30build: improve documentation of current versions and how to build themsofukong
2023-12-22testing: fix typoChristian Breunig
2023-11-02Update build-vyos.rstHarliff
Since "saggita" is no more current branch and links to the "current" pointed to "ciriunus" branch now, I've replaced "current" branch links to "saggita", so 1.4 can be built.
2023-09-12build: update Docker tags for release branchesChristian Breunig
2023-09-12build: remove reference to WireGuard out-of-tree packagesChristian Breunig
2023-07-09Build ISO commands is different for 1.2/1.3 compare to 1.4Kai Stian Olstad
2023-02-04contributing: add section about C/C++ backend codeChristian Breunig
2023-01-29Disambiguate sagitta as currentAli
Separate references mentioning equuleus and state sagitta as current instead
2022-11-05Fixing more lint errors: Warning: Line too long: len=81Alex Oberhauser
2022-11-05Fixing lint error: Warning: Line too long: len=81Alex Oberhauser
2022-11-05Updating the documentation to reflect the new build processAlex Oberhauser
2022-06-27syntax and grammar checksrividya0208
Modified the grammatical error and bgp syntax which is modified in the latest rolling version
2021-09-15build: fix linkrebortg
2021-09-13contributing: clear structurerebortg
2021-09-10Update development.rstGil Obradors
updated broken links
2021-08-19build-vyos: add hint about lo interface sysctl knobChristian Poessinger
2021-08-19build-vyos: current branch now uses Debian 11 (Bullseye)Christian Poessinger
2021-08-16Add new testing sectionChristian Poessinger
(cherry picked from commit 7e782af3c29e28456a00785d773557da235c976a)
2021-08-16Merge contribution documentation and documentation chapterChristian Poessinger
(cherry picked from commit 848c538299fe0098166e052d3238caff60a61915)
2021-04-26T3485: Update build to include MacOS supportRichard Chen Zheng
2021-03-12more then welcome phrase is corrected as more than welcomeOguz Yilmaz
2021-02-17debugging: add hint how to solve ISO build erros on broken package feedChristian Poessinger
2021-01-26contribution: fix duplicate label errorrebortg
2021-01-23docs: Mention proofreading in documentation contribution pageerkin
2021-01-23docs: Fix cross-referenceerkin
2021-01-23docs: Refer to the larger set of documentation guidelineserkin