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>
173 lines
5.7 KiB
YAML
173 lines
5.7 KiB
YAML
site_name: ETM PowerSync — Documentation
|
|
site_url: https://docs.etm-powersync.fr
|
|
site_description: >-
|
|
Documentation du HEMS ETM PowerSync : installation, fonctionnalités, compatibilité
|
|
des équipements. Gestion d'énergie locale bâtie sur nymea.io.
|
|
site_author: ETM-Schurig
|
|
copyright: >-
|
|
© ETM-Schurig — Documentation sous licence CC-BY 4.0 · exemples de code sous GPL-3.0
|
|
|
|
repo_url: https://github.com/etmschurig/powersync-docs
|
|
repo_name: etmschurig/powersync-docs
|
|
edit_uri: edit/main/docs/
|
|
|
|
theme:
|
|
name: material
|
|
language: fr
|
|
font:
|
|
text: IBM Plex Sans
|
|
code: IBM Plex Mono
|
|
palette:
|
|
scheme: slate # thème sombre, raccord avec la charte ETM
|
|
primary: custom # couleurs réelles définies dans stylesheets/extra.css
|
|
accent: custom
|
|
features:
|
|
- navigation.indexes
|
|
- navigation.top
|
|
# - navigation.instant # RETIRÉ (multi-langue, 2026-10-12) :
|
|
# 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 : il ramène sur la même page dans l'autre langue.
|
|
- navigation.footer
|
|
- search.suggest
|
|
- search.highlight
|
|
- content.code.copy
|
|
- content.action.edit
|
|
icon:
|
|
repo: fontawesome/brands/github
|
|
|
|
extra_css:
|
|
- stylesheets/extra.css
|
|
|
|
markdown_extensions:
|
|
- admonition
|
|
- attr_list
|
|
- md_in_html
|
|
- tables
|
|
- toc:
|
|
permalink: true
|
|
- pymdownx.highlight:
|
|
anchor_linenums: true
|
|
- pymdownx.superfences
|
|
- pymdownx.details
|
|
- pymdownx.inlinehilite
|
|
- pymdownx.tabbed:
|
|
alternate_style: true
|
|
- pymdownx.emoji:
|
|
emoji_index: !!python/name:material.extensions.emoji.twemoji
|
|
emoji_generator: !!python/name:material.extensions.emoji.to_svg
|
|
|
|
plugins:
|
|
# i18n AVANT literate-nav et search : il réécrit l'arbre des fichiers par langue,
|
|
# les autres doivent voir l'arbre déjà localisé.
|
|
- i18n:
|
|
docs_structure: suffix # index.md (fr) · index.de.md · index.en.md
|
|
fallback_to_default: true # pas de page absente : on retombe sur le FR
|
|
reconfigure_material: true # bascule de langue dans le header Material
|
|
reconfigure_search: true # un index de recherche par langue
|
|
languages:
|
|
- locale: fr
|
|
name: Français
|
|
default: true
|
|
build: true
|
|
site_name: ETM PowerSync — Documentation
|
|
theme:
|
|
language: fr
|
|
- locale: de
|
|
name: Deutsch
|
|
build: true
|
|
site_name: ETM PowerSync — Dokumentation
|
|
theme:
|
|
language: de
|
|
nav_translations:
|
|
Accueil: Startseite
|
|
Installation: Installation
|
|
Appareils: Geräte
|
|
Fonctionnalités: Funktionen
|
|
Référence: Referenz
|
|
Aide: Hilfe
|
|
Compatibilité: Kompatibilität
|
|
Dépôt APT: APT-Repository
|
|
Configuration: Konfiguration
|
|
L'application: Die App
|
|
Surplus solaire: Solarüberschuss
|
|
Délestage: Lastabwurf
|
|
Gestion batterie: Speicherverwaltung
|
|
Tarifs dynamiques: Dynamische Tarife
|
|
API JsonRPC: JSON-RPC-API
|
|
Référence API: API-Referenz
|
|
Dépannage: Fehlersuche
|
|
FAQ: FAQ
|
|
Compteurs: Zähler
|
|
Bornes de recharge: Wallboxen
|
|
SmartDevices: SmartDevices
|
|
HVAC: HVAC
|
|
Onduleurs / PV: Wechselrichter / PV
|
|
Batteries / ESS: Speicher / ESS
|
|
Tarifs & prévisions: Tarife & Prognosen
|
|
Types génériques: Generische Typen
|
|
API — Métier: API — Fachlich
|
|
API — Système: API — System
|
|
- locale: en
|
|
name: English
|
|
build: true
|
|
site_name: ETM PowerSync — Documentation
|
|
theme:
|
|
language: en
|
|
nav_translations:
|
|
Accueil: Home
|
|
Installation: Installation
|
|
Appareils: Devices
|
|
Fonctionnalités: Features
|
|
Référence: Reference
|
|
Aide: Help
|
|
Compatibilité: Compatibility
|
|
Dépôt APT: APT repository
|
|
Configuration: Configuration
|
|
L'application: The app
|
|
Surplus solaire: Solar surplus
|
|
Délestage: Load shedding
|
|
Gestion batterie: Battery management
|
|
Tarifs dynamiques: Dynamic tariffs
|
|
API JsonRPC: JSON-RPC API
|
|
Référence API: API reference
|
|
Dépannage: Troubleshooting
|
|
FAQ: FAQ
|
|
Compteurs: Meters
|
|
Bornes de recharge: EV chargers
|
|
SmartDevices: SmartDevices
|
|
HVAC: HVAC
|
|
Onduleurs / PV: Inverters / PV
|
|
Batteries / ESS: Batteries / ESS
|
|
Tarifs & prévisions: Tariffs & forecasts
|
|
Types génériques: Generic types
|
|
API — Métier: API — Domain
|
|
API — Système: API — System
|
|
- search:
|
|
lang: fr
|
|
- literate-nav:
|
|
nav_file: SUMMARY.md
|
|
|
|
nav:
|
|
- Accueil: index.md
|
|
- Installation:
|
|
- installation/index.md
|
|
- Dépôt APT: installation/depot-apt.md
|
|
- Configuration: installation/configuration.md
|
|
- L'application: installation/application.md
|
|
- Appareils: appareils/
|
|
- Fonctionnalités:
|
|
- fonctionnalites/index.md
|
|
- Surplus solaire: fonctionnalites/surplus-solaire.md
|
|
- Délestage: fonctionnalites/delestage.md
|
|
- Gestion batterie: fonctionnalites/gestion-batterie.md
|
|
- Tarifs dynamiques: tarifs.md
|
|
- Référence:
|
|
- reference.md
|
|
- API JsonRPC: integrations/jsonrpc-api.md
|
|
- Référence API: api/
|
|
- MQTT: integrations/mqtt.md
|
|
- Aide:
|
|
- Dépannage: depannage.md
|
|
- FAQ: faq.md
|