#!/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