2 Commits

Author SHA1 Message Date
Patrick Schurig
b2b92e7ce1 feat(i18n): mkdocs-static-i18n, trois langues construites en une passe
mkdocs.yml : plugin i18n en mode `suffix` (page.md = fr, page.de.md,
page.en.md), fr par défaut, fallback_to_default, un index de recherche par
langue, et nav_translations — 29 éléments traduits par langue, vérifié au
build. i18n est placé AVANT literate-nav et search : il réécrit l'arbre des
fichiers par langue, les autres doivent voir l'arbre déjà localisé.

navigation.instant est RETIRÉ de theme.features. Ce n'est pas un arbitrage de
confort : il est incompatible avec le lien contextuel du sélecteur de langue de
mkdocs-static-i18n, et l'avertissement fait ÉCHOUER `mkdocs build --strict`.
Le sélecteur l'emporte — atterrir sur la même page dans l'autre langue vaut
plus qu'un chargement instantané qui renvoie à l'accueil. Le commentaire est à
l'endroit du retrait, pas ailleurs.

Vérifié que literate-nav et static-i18n cohabitent, plutôt que supposé : build
construit, nav de /de/ relue dans le HTML produit (« Geräte », « Kompatibilität »,
liste des appareils bien dépliée).

CI : --locales fr,de,en sur la génération ET sur le contrôle d'idempotence. Et
une étape qui manquait — gen_api_reference.py n'était pas dans le pipeline, sa
sortie ne se propageait donc qu'au prochain passage manuel.

requirements.txt : mkdocs-static-i18n >= 1.3.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-10-13 06:39:19 +02:00
9eee067829 feat: docs-as-code — générateur, literate-nav, badges, CI Gitea Actions
- PORTING_STATUS.yaml : source de vérité canal APT + placement nav
- scripts/gen_device_reference.py : génération matrice + fiches + SUMMARY.md
  depuis integrationplugin*.json + meta.json ; nightly sans JSON = invisible
- mkdocs.yml : plugin literate-nav, nav 6 sections, Appareils via SUMMARY.md
- .gitea/workflows/docs.yml : CI complet — fetch JSON (branche auto-détectée),
  génération, build --strict, check idempotence, rsync deploy
- Badges HTML (stable/testing/nightly + consumer/community + ok/part/road)
- Fiches appareils : Eastron, ABB B2x, ABB Terra, Keba, Waveshare
- requirements.txt : mkdocs-material, mkdocs-literate-nav, PyYAML

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-02 08:53:54 +02:00