| Age | Commit message (Collapse) | Author |
|
Parity with [#1874](https://github.com/vyos/vyos-documentation/pull/1874) (current) and [#1876](https://github.com/vyos/vyos-documentation/pull/1876)
(sagitta). Replaces the static `docs/_html_extra/llms.txt` with a Jinja
template (`docs/_templates/llms.txt.j2`) rendered at build time via a
`build-finished` hook in `conf.py`. URLs and the version line are
interpolated from `html_baseurl` and `release`, so the rendered file
always matches what circinus actually serves.
Hook behavior matches `current`/`sagitta` exactly, including the two
review-cycle hardenings landed on those PRs:
- Skips on builders other than `html` and `readthedocs` — the curated
template encodes `.html` URLs which don't match `dirhtml` output.
- `RuntimeError` if `html_baseurl` is empty rather than silently
rendering broken root-relative URLs.
- Jinja `Environment(undefined=StrictUndefined)` so a typo in
`llms.txt.j2` raises at build time instead of writing a half-blank
`llms.txt`.
The closed PR [#1875](https://github.com/vyos/vyos-documentation/pull/1875) was the previous attempt; this re-lands the change after the
post-flip rebase situation cleared.
Verified locally: hook tests (happy-path render, fail-fast on
`html_baseurl=None`/`''`, `StrictUndefined` catches `{{ relase }}`
typo, skips `dirhtml`, skips on build exception) pass against this
worktree.
\xf0\x9f\xa4\x96 Generated by [robots](https://vyos.io)
|
|
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
|
|
|
|
|
|
(cherry picked from commit aa4a2101f82a5be4369b0f7bf44c59ddb533769b)
|
|
|
|
(cherry picked from commit 0e440465338457b513e8b295f95b112bde75074b)
|