diff options
| author | Yuriy Andamasov <yuriy@vyos.io> | 2026-05-07 09:40:47 +0300 |
|---|---|---|
| committer | Yuriy Andamasov <yuriy@vyos.io> | 2026-05-07 09:40:47 +0300 |
| commit | ef515553402b9ad86399e0a845f2fccb51aa9b55 (patch) | |
| tree | cc9910bd009cfe0d6c78399e556fdaabf5314835 | |
| parent | 5fe7f9ad745696076dae479a23431b22f67abea4 (diff) | |
| download | vyos-documentation-ef515553402b9ad86399e0a845f2fccb51aa9b55.tar.gz vyos-documentation-ef515553402b9ad86399e0a845f2fccb51aa9b55.zip | |
docs(llms.txt): update dirhtml-skip rationale after .md pivot
The previous comment on `_write_llms_txt` (and on the LLM-Facing Files
section in CLAUDE.md) justified the `dirhtml` skip by claiming the
template's `.html` URLs wouldn't resolve under `dirhtml` output. That
became stale after [#1874@5fe7f9ad](https://github.com/vyos/vyos-documentation/pull/1874/commits/5fe7f9ad) (and parity commits on
[#1876](https://github.com/vyos/vyos-documentation/pull/1876)/[#1903](https://github.com/vyos/vyos-documentation/pull/1903)) pivoted the curated template to `.md` URLs —
`_copy_md_sources` puts `.md` files at their source-relative paths
regardless of builder, so the rendered llms.txt would actually resolve
fine under `dirhtml` now.
The real reason we skip `dirhtml` is simpler: production publishes
only via the `html`/`readthedocs` builders, and we don't render
llms.txt for builds we don't ship. Local `make dirhtml` is a developer
convenience, not a publish target.
Reword the conf.py comment and the CLAUDE.md section to say that
plainly. No code-behavior change.
Addresses Copilot review feedback on PR #1874 (3 threads on docs/conf.py,
docs/_templates/llms.txt.j2, and CLAUDE.md flagging the inconsistency).
\xf0\x9f\xa4\x96 Generated by [robots](https://vyos.io)
| -rw-r--r-- | CLAUDE.md | 8 | ||||
| -rw-r--r-- | docs/conf.py | 10 |
2 files changed, 10 insertions, 8 deletions
@@ -108,10 +108,10 @@ Each configuration page should contain: ## LLM-Facing Files (`llms.txt`, `llms-full.txt`) Both files are regenerated on every `html` and `readthedocs` builder run. -The `dirhtml` builder is intentionally skipped (the curated template -encodes `.html` URLs which don't match `dirhtml` output paths). Local -`make dirhtml` won't emit `llms.txt` — production publishes via the -`html`/`readthedocs` builders, where the file lands. +The `dirhtml` builder is intentionally skipped — production publishes +only via `html`/`readthedocs`, and we don't render llms.txt for builds +we don't ship. Local `make dirhtml` is a developer convenience and +won't emit `llms.txt`. Files are shipped at the docs root for each version (`https://docs.vyos.io/en/<version>/llms.txt`, `.../llms-full.txt`). diff --git a/docs/conf.py b/docs/conf.py index d3db8d2b..07ffe722 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -254,10 +254,12 @@ def _prefer_webp(app): def _write_llms_txt(app, exception): - # Skip dirhtml: the curated template encodes `.html` URLs (e.g. - # `quick-start.html`), which don't exist under `dirhtml` output - # (`quick-start/index.html`). Production publishes via the html / - # readthedocs builders, so dirhtml output would just be misleading. + # Skip dirhtml: production publishes via the `html` / `readthedocs` + # builders only. The `.md` links in the curated template do + # actually resolve under `dirhtml` (`_copy_md_sources` puts `.md` + # files at their source-relative paths regardless of builder), but + # we still don't render llms.txt for builds we don't ship — local + # `make dirhtml` is a developer convenience, not a publish target. if exception is not None or app.builder.name not in ( 'html', 'readthedocs'): return |
