#!/bin/bash # CREATE PDF from markdown files # set -x set -e CONF="conf.sh" TEMPLATE="verse-wrapper-template.tex" CONVERTER="md2verse.sh" if ! [[ -f $CONF ]] ; then echo "$CONF not found! Exiting ..." && exit ; fi if ! [[ -f $TEMPLATE ]] ; then echo "$TEMPLATE not found! Exiting ..." && exit ; fi if ! [[ -f $CONVERTER ]] ; then echo "$CONVERTER not found! Exiting ..." && exit ; fi if ! [[ -x $CONVERTER ]] ; then echo "$CONVERTER not executable! Exiting ..." && exit ; fi . $CONF # CREATE WORKING DIR WD=$PWD TMPDIR=$(mktemp -d) PATH=$PATH:$WD pushd $TMPDIR # CONVERT MD TO TEX for tex in $( echo $INFILES | grep '.md$' ) do echo $WD/$tex # create parent dir if necassary mkdir -p $(dirname $tex) $CONVERTER $WD/$tex > $( echo $tex | sed "s/.md/.tex/" ) done # CREATE WRAPPER WRAPPER="""\documentclass{$DOCCLASS} \usepackage[fontsize=${FONTSIZE}pt]{fontsize} \usepackage[${PAGESIZE}paper,showframe]{geometry} % A6 \usepackage{verse, gmverse} % https://tex.stackexchange.com/a/542222 \newcommand{\attrib}[1]{% \nopagebreak{\raggedleft\footnotesize #1\par} } \title{ ${TITLE} } \author{ ${AUTHOR} } \date{\today} \begin{document} \maketitle \tableofcontents """ WRAPPER_END=""" \end{document} """ echo $WRAPPER > $PROJECT.tex for input in $INFILE do if [[ "$input" = "*.md" ]] then echo '\\input' "{ $( echo $input | sed 's/.md/.tex/' ) }" >> $PROJECT.tex else #is chapter echo '\\chapter' " { $input }" >> $PROJECT.tex fi echo '\\clearpage' >> $PROJECT.tex done echo "$WRAPPER_END" >> $PROJECT.tex # CREATE PDF $LATEX_ENGINE $PROJECT.tex cp $PROJECT.pdf $WD popd rm -rf $TMPDIR