MakerFLOSS/scripts
sjat c743416ded
All checks were successful
Build docs site / build (push) Successful in 32s
Build slides / build (push) Successful in 52s
feat(docs): add services category alongside hardware
Mirror the auto-indexed per-host pattern for a new docs/services/
category, seeded with the six things currently deployed on or around
makerfloss.eu: docs, slides, forgejo, gandi-dns, marp, mermaid.

Generator/hook generalisation:
- scripts/gen_overview.py: replace the hardcoded `hostname` check
  with a configurable `key_field` (default: hostname). Add a generic
  `key-link` column kind (replaces the old `hostname-link`) and a
  `url-link` kind that renders the value as a clickable link.
- scripts/overview_config.yml: declare hardware's key_field, then add
  a `services` block (key_field=name, its own kind/status enums,
  grouped by kind for the index table).
- scripts/mkdocs_hooks.py: route by `page.file.src_uri` so each
  hardware/* page gets a "Specs" table and each services/* page gets
  a "Service" table; both share the helpers in gen_overview.

Wiring:
- Makefile: docs-index and docs-check now regenerate and drift-check
  both indices.
- .forgejo/workflows/docs.yml: same on the CI runner.
- mkdocs.yml: add Services to nav.
- README.md, CLAUDE.md: list services/ in the repo-layout block.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 17:48:15 +02:00
..
gen_overview.py feat(docs): add services category alongside hardware 2026-05-18 17:48:15 +02:00
mkdocs_hooks.py feat(docs): add services category alongside hardware 2026-05-18 17:48:15 +02:00
overview_config.yml feat(docs): add services category alongside hardware 2026-05-18 17:48:15 +02:00
README.md docs: add proper README at repo root and per-tree READMEs 2026-05-18 17:13:50 +02:00

scripts/

Build helpers for the documentation site.

  • gen_overview.py — generates a category index table from per-item YAML frontmatter (currently used for docs/hardware/index.md). Configured by overview_config.yml. Run via make docs-index; CI drift-checks it via make docs-check.
  • mkdocs_hooks.py — MkDocs build hook that renders a Specs table on each hardware host page from its frontmatter, sharing fmt_* helpers with gen_overview.py so the host page and the index row stay in sync.
  • overview_config.yml — schema (required fields, enums) and table layout for gen_overview.py.