Cette page décrit comment générer le site web principal de Geotribu (https://geotribu.fr/) à partir des sources. A noter que les sites secondaires (comme celui-ci) suivent en général peu ou prou la même logique.
Avant d'aller plus loin, il faut disposer des sources du site et avoir configuré son environnement local :
C'est l'outil qui sert à générer le site web à partir des contenus rédigés en markdown et configuré dans le fichier mkdocs.yml et dérivés. Voici quelques bases pour l'utiliser... qui ne vous épargnent pas le droit de regarder l'aide mkdocs --help.
Depuis la rentrée 2021, Geotribu sponsorise le thème Material for Mkdocs afin de pérenniser le projet et tirer parti des fonctionnalités réservées aux financeurs (principe du Sponsorware).
La clé de licence (en fait, un token GitHub lié au compte de Julien) devant rester secrète, nous gérons donc plusieurs fichiers de configuration afin de pouvoir s'adapter aux différents cas.
Le site grossissant à mesure des usages et contenus, la maintenance s'est complxifiée, surtout avec plusieurs fichiers de configuration à gérer, rendus parfois illisibiles par certaines configurations verbeuses.
La gestion de certains plugins et extensions a été modularisée dans des fichiers YAML séparés et certains éléments sont générés via des scripts (comme les derniers contenus).
Retenir que :
le sous-dossier config contient les fichiers YAML "enfants" à fusionner
le sous-dossier scripts contient les scripts à exécuter dans l'ordre de leur nom
Le site généré est dans le répertoire : ./build/mkdocs/site.
Avoir un rendu local mis à jour selon les modifications#
Pour voir les changements en local sans les pousser sur le dépôt central, il est possible de servir le site et qu'il se recharge automatiquement quand on modifie les fichiers :
Version complète :
# regénération complète
mkdocsserve
# regénération rapide
mkdocsserve--dirtyreload
Version complète gratuite :
# regénération complète
mkdocsserve-fmkdocs-free.yml--dirtyreload
# regénération rapide
mkdocsserve--config-filemkdocs-free.yml--dirtyreload
Version minimale :
# regénération complète
mkdocsserve--config-filemkdocs-minimal.yml
# regénération rapide
mkdocsserve--config-filemkdocs-minimal.yml--dirtyreload
Par défaut, le site est accessible sur http://localhost:8000 mais il est possible de spécifier le port à utiliser : mkdocs serve -a localhost:8085.
Il est également possible d'utiliser Docker. L'avantage est que c'est alors la seule dépendance à installer (plus besoin de Python, NodeJS ou même de Git si vous téléchargez le dépôt). L'inconvénient est que c'est assez lourd pour un site qui se veut léger !