diff --git a/conf.sh b/conf.sh new file mode 100644 index 0000000..0f178cb --- /dev/null +++ b/conf.sh @@ -0,0 +1,13 @@ +LATEX_ENGINE="pdflatex" +DOCCLASS="book" +FONTSIZE="10" +PAGESIZE="a5" +PROJECT="quaderno" +TITLE="Quaderno de Musica" +AUTHOR="Centro Cultural Choupana" +INFILES=" +Ladainhas +testfile/verse.tex +Corridos +testfile/verse.tex +" diff --git a/mk-verse.sh b/mk-verse.sh new file mode 100644 index 0000000..048d892 --- /dev/null +++ b/mk-verse.sh @@ -0,0 +1,74 @@ +#!/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