summaryrefslogtreecommitdiff
path: root/docs/_templates
diff options
context:
space:
mode:
authorYuriy Andamasov <yuriy@vyos.io>2026-05-07 08:48:02 +0300
committerYuriy Andamasov <yuriy@vyos.io>2026-05-07 08:48:02 +0300
commit23d6a3ef8afb0fddc0cc7c4591014b971ee2edf4 (patch)
treeca3a1096f03541ec2d994f0157ce90c7e9d5f0f7 /docs/_templates
parentb8fc0b98dadc8eabf584ed9db599c37f454dfaaf (diff)
downloadvyos-documentation-23d6a3ef8afb0fddc0cc7c4591014b971ee2edf4.tar.gz
vyos-documentation-23d6a3ef8afb0fddc0cc7c4591014b971ee2edf4.zip
docs: render llms.txt at build time (circinus)
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)
Diffstat (limited to 'docs/_templates')
-rw-r--r--docs/_templates/llms.txt.j252
1 files changed, 52 insertions, 0 deletions
diff --git a/docs/_templates/llms.txt.j2 b/docs/_templates/llms.txt.j2
new file mode 100644
index 00000000..db579e83
--- /dev/null
+++ b/docs/_templates/llms.txt.j2
@@ -0,0 +1,52 @@
+# VyOS
+
+> VyOS is a free, open-source network operating system based on Debian GNU/Linux.
+> It provides routing, firewall, and VPN functionality via a unified CLI using
+> `set`/`delete`/`show` command hierarchy. This documentation covers {{ release }}.
+
+VyOS configuration follows a tree structure. All configuration commands start with
+`set` (to add/change) or `delete` (to remove). Changes are staged and applied with
+`commit`. The CLI hierarchy maps directly to the documentation structure.
+
+## Quick Start
+
+- [Quick Start Guide]({{ baseurl }}quick-start.html): Minimal setup walkthrough
+- [CLI Overview]({{ baseurl }}cli.html): Command-line interface usage
+
+## Configuration
+
+- [Firewall]({{ baseurl }}configuration/firewall/index.html): Zone-based firewall, rules, groups
+- [Interfaces]({{ baseurl }}configuration/interfaces/index.html): Ethernet, bonding, bridge, VLAN, tunnel, wireless
+- [Protocols]({{ baseurl }}configuration/protocols/index.html): BGP, OSPF, IS-IS, static routing, MPLS
+- [VPN]({{ baseurl }}configuration/vpn/index.html): IPsec, OpenVPN, WireGuard, L2TP, PPTP
+- [NAT]({{ baseurl }}configuration/nat/index.html): Source NAT, destination NAT, NAT66
+- [System]({{ baseurl }}configuration/system/index.html): DNS, NTP, syslog, users, task scheduler
+- [High Availability]({{ baseurl }}configuration/highavailability/index.html): VRRP
+- [Load Balancing]({{ baseurl }}configuration/loadbalancing/index.html): WAN and reverse proxy
+- [Containers]({{ baseurl }}configuration/container/index.html): Podman-based container support
+- [PKI]({{ baseurl }}configuration/pki/index.html): Certificate management
+- [Policy]({{ baseurl }}configuration/policy/index.html): Route maps, prefix lists, access lists
+- [Traffic Policy]({{ baseurl }}configuration/trafficpolicy/index.html): QoS and shaping
+- [Service]({{ baseurl }}configuration/service/index.html): DHCP, DNS forwarding, SNMP, SSH, HTTPS API
+- [VRF]({{ baseurl }}configuration/vrf/index.html): Virtual routing and forwarding
+
+## Operations
+
+- [Operational Commands]({{ baseurl }}operation/index.html): Show, monitor, restart commands
+
+## Installation
+
+- [Installation Guide]({{ baseurl }}installation/index.html): Bare metal, virtual, cloud deployments
+
+## Automation
+
+- [Automation]({{ baseurl }}automation/index.html): Ansible, Terraform, HTTP API, NETCONF
+
+## Configuration Examples
+
+- [Blueprints]({{ baseurl }}configexamples/index.html): Real-world topology examples
+
+## Optional
+
+- [Contributing]({{ baseurl }}contributing/index.html): Development workflow
+- [VPP]({{ baseurl }}vpp/index.html): Vector Packet Processing integration