Fix bugs and modernize new_beamer_presentation script
Switch from git checkout-index to git archive with a temp directory, fixing unquoted variables, TMPDIR name collision, missing set -e, missing existence check for destination, and mktemp running unconditionally. Fix typo in error message. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -4,37 +4,40 @@
|
||||
# Copyright (c) 2009-2022 Benjamin Mako Hill <mako@atdot.cc>
|
||||
# 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
|
||||
|
||||
Reference in New Issue
Block a user