summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorToby Vincent <tobyv@tobyvin.dev>2023-08-14 15:10:45 -0500
committerToby Vincent <tobyv@tobyvin.dev>2023-08-14 15:10:45 -0500
commitf8df231d4c8b1713aa927c4eceed4d6678ab2a02 (patch)
tree08fe6ecedae94a597cacdef8a55c43abaeeedf30
parent01a9da4afebc6ccf4a88da33809f3f59f8d7f6ba (diff)
fix: improve generic templenting script
-rwxr-xr-xbuild-generic.sh69
-rw-r--r--src/generic/cover_letter.tex7
2 files changed, 69 insertions, 7 deletions
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 <tobyv@tobyvin.dev>
+
+ $SCRIPT
+ Builds generic cover letter using the provided company name and address.
+
+ USAGE:
+ $SCRIPT <COMPANY> <ADDRESS> [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
diff --git a/src/generic/cover_letter.tex b/src/generic/cover_letter.tex
index 9f36207..8b1263d 100644
--- a/src/generic/cover_letter.tex
+++ b/src/generic/cover_letter.tex
@@ -1,6 +1,11 @@
\input{preamble}
-\recipient{Hiring Manager}{}
+\ifx\companyname\undefined{}
+ \recipient{Hiring Manager}{}
+\else
+ \recipient{Hiring Manager}{\companyname\\\companyaddress}
+\fi
+
\date{\today}
\opening{Dear Sir or Madam,}
\closing{Thank you for your consideration,}