From f8df231d4c8b1713aa927c4eceed4d6678ab2a02 Mon Sep 17 00:00:00 2001 From: Toby Vincent Date: Mon, 14 Aug 2023 15:10:45 -0500 Subject: fix: improve generic templenting script --- build-generic.sh | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 63 insertions(+), 6 deletions(-) (limited to 'build-generic.sh') diff --git a/build-generic.sh b/build-generic.sh index 12c6d8e..eca909c 100755 --- a/build-generic.sh +++ b/build-generic.sh @@ -1,15 +1,72 @@ #!/bin/sh # shellcheck disable=1003 +SCRIPT="$(basename "$0")" + +long='help,open' +short='ho' + +if ! opts="$(getopt -o $short -l $long -n "$SCRIPT" -- "$@")"; then + exit 1 +fi + +eval set -- "$opts" + +help() { + cat <<-EOF + $SCRIPT + Toby Vincent + + $SCRIPT + Builds generic cover letter using the provided company name and address. + + USAGE: + $SCRIPT
[OPTION ...] + + OPTIONS: + -o, --open Open PDF after building + -h, --help Show this help. + + EXAMPLES: + $SCRIPT "Chuck's Clucks" "Cluckville, KY" --open + EOF +} + +open=false +while true; do + case "$1" in + -h | --help) + help + exit 0 + ;; + -o | --open) + open=true + shift + ;; + --) + shift + break + ;; + *) + exit 1 + ;; + esac +done + if [ "$#" -eq 0 ]; then echo 'Error: Missing name and address' - echo 'Example:' - echo ' build-generic.sh "Chuck'\''s Clucks" "Cluckville, KY"' + help exit 1 fi -sed "s/\(recipient{.\+}\){.*}/\1{$1"'\\\\'"$2}/" -i src/generic/cover_letter.tex -latexmk src/generic/cover_letter.tex -sed "s/\(recipient{.\+}\){.*}/\1{}/" -i src/generic/cover_letter.tex +name=$1 +address=$2 +shift 2 + +latexmk src/generic/cover_letter.tex -usepretex="\def\companyname{$name}\def\companyaddress{$address}" -g "$@" + +if $open; then + xdg-open src/generic/cover_letter.pdf +fi -xdg-open src/generic/cover_letter.pdf +latexmk src/generic/cover_letter.tex -c -- cgit v1.2.3-70-g09d2