94 lines
1.9 KiB
Bash
Executable File
94 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
# CREATE PDF from markdown files
|
|
#
|
|
|
|
#set -x
|
|
set -e
|
|
|
|
if [ $# -eq 1 ]
|
|
then
|
|
CONF=$1
|
|
else
|
|
CONF="verse.conf"
|
|
fi
|
|
|
|
TEMPLATE="verse-wrapper-template.tex"
|
|
CONVERTER="md2verse.sh"
|
|
|
|
if ! [[ -f $CONF ]] ; then echo "$CONF 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 > /dev/null
|
|
|
|
# CONVERT MD TO TEX
|
|
for tex in $( echo $INFILES | grep '.md$' )
|
|
do
|
|
if [[ -f $WD/$tex ]]
|
|
then
|
|
# create parent dir if necassary
|
|
mkdir -p $(dirname $tex)
|
|
$CONVERTER $WD/$tex > $( echo $tex | sed "s/.md/.tex/" )
|
|
else
|
|
if [[ $tex == *.md ]]
|
|
then
|
|
echo "$WD/$tex does not exist!!!"
|
|
fi
|
|
fi
|
|
done
|
|
|
|
# CREATE WRAPPER
|
|
WRAPPER="""\documentclass{$DOCCLASS}
|
|
\usepackage[fontsize=${FONTSIZE}pt]{fontsize}
|
|
\usepackage[${PAGESIZE}paper]{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 $INFILES
|
|
do
|
|
if [[ $input == *.md ]]
|
|
then
|
|
# if [[ -f $WD/$input ]] ; then
|
|
echo '\input' "{ $( echo $input | sed 's/.md/.tex/' ) }" >> $PROJECT.tex
|
|
# fi
|
|
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 2&> /dev/null
|
|
$LATEX_ENGINE $PROJECT.tex 2&> /dev/null
|
|
# $LATEX_ENGINE $PROJECT.tex
|
|
cp $PROJECT.pdf $WD
|
|
echo "File $PROJECT.pdf created at $WD"
|
|
#cp $PROJECT.tex $WD
|
|
echo "File $PROJECT.tex created at $WD"
|
|
popd > /dev/null
|
|
rm -rf $TMPDIR
|