webui: bundle on-device User's Guide

Build the mkdocs User's Guide into WebUI images and surface it in the UI.
post-build.sh runs `mkdocs build` from the top-level mkdocs.yml into
/var/www/guide when the webui package is selected and mkdocs is on the
build host; nginx serves it read-only at /guide/.  The build is
best-effort — a missing mkdocs warns and ships without the guide rather
than failing — and minimal images (no webui) skip it.

The WebUI gates a book icon in the topbar and a User Guide item in the
user menu on the docs being present on disk (os.Stat, fail-closed), both
opening /guide/ in a new tab.

CI: a local setup-mkdocs composite action installs mkdocs and the
plugins from mkdocs.yml; the build and release workflows run it before
the build so images produced in CI include the guide.  developers-guide
documents the new build dependency and restores the missing
mkdocs-glightbox plugin.

Fixes #633

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This commit is contained in:
Joachim Wiberg
2026-06-15 19:45:25 +02:00
parent 3ccbdf2f0b
commit e412c28c37
10 changed files with 104 additions and 5 deletions
+3
View File
@@ -45,6 +45,9 @@ jobs:
target: ${{ matrix.target }}
enabled: ${{ inputs.use_cache }}
# WebUI images bundle the mkdocs User's Guide via post-build.sh.
- uses: ./.github/actions/setup-mkdocs
- name: Configure & Build
env:
INFIX_RELEASE: ${{ steps.vars.outputs.ver }}
+3
View File
@@ -124,6 +124,9 @@ jobs:
with:
target: ${{ env.TARGET }}
# WebUI images bundle the mkdocs User's Guide via post-build.sh.
- uses: ./.github/actions/setup-mkdocs
- name: Configure ${{ env.TARGET }}
run: |
make ${{ env.TARGET }}_defconfig