feat(wiki): generate the course textbook into the wiki from modules/ via CI

- tools/build_wiki.py: host-agnostic generator — renders modules/** + capstone
  into wiki pages with a unit-by-unit _Sidebar, a Home TOC, and a _Footer;
  rewrites lab/ and repo-root links to absolute repo URLs (labs stay in the repo,
  linked not copied). Single source of truth stays in modules/.
- .gitea/workflows/sync-wiki.yml + .github/workflows/sync-wiki.yml: sync the wiki
  on every push to main touching modules/**, capstone/**, README, or the generator.
  Documented prerequisites: an Actions runner + a WIKI_TOKEN secret (+ GitHub wiki
  must be initialized once).
- tools/README.md: how to run the sync manually and via CI.
- README: "Read it as a book" pointer to the wiki.

The Gitea wiki has already been populated with the initial render.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TfzV5QvtPDz8LJS3Pu5VLT
This commit is contained in:
2026-06-22 18:53:01 -04:00
parent b974dce5f8
commit f0cb2382c8
5 changed files with 368 additions and 0 deletions
+9
View File
@@ -16,6 +16,15 @@ built on a branch and merged through review — exactly the motion the modules t
---
## Read it as a book
The lessons are rendered into the **[Wiki](../../wiki)** as a navigable textbook (unit-by-unit
sidebar, one page per module). The wiki is generated from `modules/` and kept in sync
automatically — it's build output, so read it there but **edit the lessons here in `modules/`**.
See [`tools/`](tools/) for the generator and the sync workflows.
---
## Who this is for
IT professionals who are fluent in an AI chat window and comfortable with ops concepts — **not