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 :