suchow/Dissertate

View on GitHub
scripts/build

Summary

Maintainability
Test Coverage
#!/bin/bash

#install required packages
pip install -r requirements.txt

cd build

# Clear out the previous build.
/bin/rm -f *

for dir in ../assets/schools/*/
do
    dir=${dir%*/}

    if [ ${dir##*/} != "__pycache__" ]
        then
            # Create LaTeX template
            latexdir="Dissertate-${dir##*/}-LaTeX"
            mkdir $latexdir

            # Add fonts
            rsync --recursive ../assets/fonts/* $latexdir/fonts/

            # Add guidelines
            cp ../assets/schools/${dir##*/}/guidelines.pdf $latexdir/guidelines.pdf

            # Add school specific resources
            cp -R ../assets/schools/${dir##*/}/resources $latexdir/resources
            
            # Add the LaTeX template
            rsync --recursive ../assets/latex-base/* $latexdir
            cat ../assets/schools/${dir##*/}/style.sty >> ../build/$latexdir/Dissertate.cls

            # Build LaTeX template
            ./$latexdir/scripts/build

            # Remove temporary files
            find . -name "*.aux" -delete
            find . -name "*.blg" -delete
            find . -name "*.bbl" -delete
            find . -name "*.out" -delete
            find . -name "*.lof" -delete
            find . -name "*.toc" -delete

            # Package it up
            zip -r $latexdir.zip $latexdir && rm -r $latexdir

            # # Create Word template
            worddir="Dissertate-${dir##*/}-Word"
            mkdir $worddir
            python ../scripts/dissertate-word.py --school ${dir##*/}
            cp dissertation.docx $worddir/dissertation.docx
            rm dissertation.docx

            # Add guidelines
            cp ../assets/schools/${dir##*/}/guidelines.pdf $worddir/guidelines.pdf

            # Package it up
            zip -r $worddir.zip $worddir && rm -r $worddir
    fi
done

cd ..