cv-aou/build.sh
2021-06-03 11:08:08 +02:00

60 lines
1.7 KiB
Bash
Executable File

#!/bin/bash
while [ -n "$1" ]; do # gestion des paramètres
case "$1" in
-h) echo "Script qui transforme des fichiers markdown en pdf et html avec le même style.
-k conserve les fichiers de construction"; exit 0;;
--pdf) PDF=true;;
--html) HTML=true;;
-k) keep=true;;
esac
shift
done
# Si on indique aucune consigne on fait la génération en pdf et html
if [[ -z "$PDF" ]] && [[ -z "$HTML" ]]; then
PDF=true
HTML=true
fi
set -e
IN_DIR="./input-cv-md"
OUT_DIR="./output"
STYLES_DIR="styles"
STYLE="aou"
# Si il n'y a pas de fichier markdown dans le dossier d'entrée, le script s'arrète
if [[ ! -d "$IN_DIR" ]] || [[ -z "$(ls -A $IN_DIR/*.md)" ]]; then
echo "Attention il n'y a aucun CV en markdown dans le dossier $IN_DIR"
exit 1
fi
for f in $IN_DIR/*.md; do
FILE_NAME=`basename $f | sed 's/.md//g'`;
mkdir -p $OUT_DIR/$FILE_NAME;
if [[ $HTML ]]; then
echo "### Génération du HTML"
pandoc --standalone --css ../../$STYLES_DIR/$STYLE.css \
--from markdown --to html \
--output $OUT_DIR/$FILE_NAME/index.html $f \
--metadata pagetitle=$FILE_NAME;
fi
if [[ $PDF ]]; then
echo "### Génération du PDF"
pandoc --standalone --template $STYLES_DIR/$STYLE.tex \
--from markdown --to context --variable papersize=A4 \
--output $OUT_DIR/$FILE_NAME/$FILE_NAME.tex $f;
mtxrun --path=$OUT_DIR --result=$FILE_NAME/cv-$FILE_NAME.pdf --script context $FILE_NAME.tex;
fi
# Néttoie les fichiers de génération
if [ -z "$keep" ] ; then
rm -rf $OUT_DIR/$FILE_NAME/*.log $OUT_DIR/$FILE_NAME/*.tex $OUT_DIR/$FILE_NAME/*.tuc;
fi
echo "### Fin du script"
done