From 357429838aa949495b35845030a25ecdff676ff6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Tue, 26 May 2026 16:09:24 +0200 Subject: [PATCH] Add script to build user manual in ODT format --- .gitignore | 3 ++- build-user-manual-odt.sh | 24 ++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100755 build-user-manual-odt.sh diff --git a/.gitignore b/.gitignore index 291144e..674819a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ build/* *-manual.pdf .venv/ -**/*.pyc \ No newline at end of file +**/*.pyc +user-manual.odt \ No newline at end of file diff --git a/build-user-manual-odt.sh b/build-user-manual-odt.sh new file mode 100755 index 0000000..70ad823 --- /dev/null +++ b/build-user-manual-odt.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +# Script pour construire le manuel utilisateur au format ODT. +# Ce script extrait la liste des fichiers markdown depuis user/mkdocs.yml +# en respectant l'ordre défini dans la clé 'nav'. + +# Extraction de la liste des fichiers avec yq. +# On ajoute le préfixe 'user/docs/' pour que pandoc trouve les fichiers depuis la racine. +mapfile -t FILES < <(yq '.nav[] | .. | .[]? | select(. == "*.md") | "user/docs/" + .' user/mkdocs.yml) + +# Vérification que la liste n'est pas vide +if [ ${#FILES[@]} -eq 0 ]; then + echo "Erreur : Aucun fichier markdown trouvé dans user/mkdocs.yml" + exit 1 +fi + +# Exécution de la commande pandoc +# --resource-path permet de trouver les images situées dans user/docs/img/ +# --metadata lang=fr indique la langue du document +pandoc --to odt \ + --resource-path=user/docs \ + --metadata lang=fr \ + -o user-manual.odt \ + "${FILES[@]}"