diff --git a/slides_template/new_beamer_presentation b/slides_template/new_beamer_presentation index ce41c0a..911718d 100755 --- a/slides_template/new_beamer_presentation +++ b/slides_template/new_beamer_presentation @@ -4,37 +4,40 @@ # Copyright (c) 2009-2022 Benjamin Mako Hill # Released under the GPLv3 or later. +set -e + SOURCEDIR="$HOME/tex/beamer-mako" -CURDIR=`pwd` +CURDIR=$(pwd) -if test $1 +if [ -n "$1" ] then - cd $SOURCEDIR - git checkout-index -f --prefix=$CURDIR/$1/ $(find template -not -type d) - cd $CURDIR + if [ -e "$1" ]; then + echo "error: '$1' already exists" + exit 1 + fi - # get rid of paper_template subdir - mv $1/template/* $1 - mv $1/template/.gitignore $1 - rm -rf $CURDIR/$1/template + WORK_DIR=$(mktemp -d) + cd "$SOURCEDIR" + git archive --format=tar HEAD template | tar x --strip=1 -C "$WORK_DIR" + cd "$CURDIR" + mv "$WORK_DIR" "$1" - mv $1/example.tex $1/$1.tex + mv "$1/example.tex" "$1/$(basename "$1").tex" # create a symlink farm for the fonts - # rm -rf "./fonts/*" - cd $1 + cd "$1" rm -rf ./fonts/* - # first created the directories + # first create the directories for fontdir in "${SOURCEDIR}/template/fonts/"*; do mkdir "./fonts/$(basename "${fontdir}")" # then the files for fontfile in "${fontdir}/"*; do ln -s "${fontfile}" "./fonts/$(basename "${fontdir}")/$(basename "${fontfile}")" - done; - done; + done + done - cd $CURDIR + cd "$CURDIR" else - echo "specifiy a directory where the template should go"; + echo "specify a directory where the template should go" fi