summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CLAUDE.md8
-rw-r--r--docs/conf.py10
2 files changed, 10 insertions, 8 deletions
diff --git a/CLAUDE.md b/CLAUDE.md
index 7c204a96..6c07c790 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -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