amélioration du script de génération

This commit is contained in:
Antoine Ouvrard
2021-06-03 11:03:55 +02:00
parent a6dd3c53e4
commit 54449fe1c4
3 changed files with 47 additions and 24 deletions
+41 -18
View File
@@ -3,34 +3,57 @@ 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
set -xe
# 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"
mkdir -p $IN_DIR
mkdir -p $OUT_DIR
# 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'`;
# Génère le HTML
pandoc --standalone --css ../$STYLES_DIR/$STYLE.css \
--from markdown --to html \
--output $OUT_DIR/$FILE_NAME.html $f \
--metadata pagetitle=$FILE_NAME;
# Génère le PDF
pandoc --standalone --template $STYLES_DIR/$STYLE.tex \
--from markdown --to context --variable papersize=A4 \
--output $OUT_DIR/$FILE_NAME.tex $f;
mtxrun --path=$OUT_DIR --result=$FILE_NAME.pdf --script context $FILE_NAME.tex;
done
if [ -z "$keep" ] ; then
rm -rf $OUT_DIR/*.log $OUT_DIR/*.tex $OUT_DIR/*.tuc styles/*.pdf;
fi
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