Guillaume Perréal
2020-05
La présentation que vous regardez a été générée avec prezbuilder !
L’image gitlab-registry.irstea.fr/pole-is/tools/prezbuilder:1.1.0 contient une version préinstallée de prezbuilder avec pandoc et wkhtmltopdf, mais pas drawio.
Il faut s’authentifier sur la registry Docker de Gitlab si ce n’est pas déjà fait :
Ensuite, le plus simple est de récupérer le script prezbuilder-docker :
sudo wget https://gitlab.irstea.fr/pole-is/tools/prezbuilder/-/raw/1.1.0/bin/prezbuilder-docker?inline=false -O /usr/local/bin/prezbuilder-docker
sudo chmod a+rx /usr/local/bin/prezbuilder-docker
Le projet contient un modèle Gitlab CI à inclure dans .gitlab-ci.yml. Il définit un modèle de job .prezbuilder qui peut être utilisé comme job pages pour publier automatiquement les présentations de src. Il utilise l’image Docker, donc génère les PDF mais ne convertit pas les graphes drawio.
prezbuild crée une (ou plusieurs) présentation(s) dans public/ à partir du contenu du répertoire src/.
Chaque présentation est écrite sous la forme d’un fichier au format Markdown nommés index.md. Il est possible d’ajouter des images aux formats PNG, JPG, GIF ou SVG à référencer depuis le fichier markdown.
Le répertoire src/ est parcouru récursivement, et les fichiers sont traités comme suit :
index.md sont convertis en présentation index.html..png, .jpg, .gif et .svg sont copiés tels quels.index.md à la racine, un index des présentations est généré..drawio sont convertis en fichiers .svg..pdf est généré par fichier index.md, avec le nom du répetoire parent (en sortie).Entrée:
src\
pres1\
index.md
graph.drawio
pres2\
index.md
photo.jpg
Sortie :
public\
index.html
public.pdf
pres1\
index.html
pres1.pdf
graph.svg
pres2\
index.html
pres2.pdf
photo.jpg
prezbuiler peut être exécuté selon deux modes :
build : une seule exécution.
dev : mode serveur avec live-reload,
Le script pour Docker s’utilise comme celui présenté de NodeJS :