summaryrefslogtreecommitdiffstats
path: root/build-generic.sh
diff options
context:
space:
mode:
Diffstat (limited to 'build-generic.sh')
-rwxr-xr-xbuild-generic.sh69
1 files changed, 63 insertions, 6 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