summaryrefslogtreecommitdiffstats
path: root/build.sh
diff options
context:
space:
mode:
authorToby Vincent <tobyv@tobyvin.dev>2023-08-23 19:16:21 -0500
committerToby Vincent <tobyv@tobyvin.dev>2023-08-23 20:36:20 -0500
commit2aec1184e3ac8a7a560ccc81539243ed43aaae57 (patch)
tree332d7723a9a51f9ab1ff9c0db8de552df0c57906 /build.sh
parent46caa32559fb370ab05e25c6373448bb235b86ef (diff)
build: improve build script and combined pdfv0.1.4v0.1.3
Diffstat (limited to 'build.sh')
-rwxr-xr-xbuild.sh102
1 files changed, 99 insertions, 3 deletions
diff --git a/build.sh b/build.sh
index b1a5021..99c4b05 100755
--- a/build.sh
+++ b/build.sh
@@ -2,8 +2,104 @@
CDPATH='' cd -- "$(dirname -- "$0")" || exit
-latexmk "src/resume.tex"
+SCRIPT="$(basename "$0")"
+
+long='help,open,all,name:,address:'
+short='hoAn:a:'
+
+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 resume and cover letter.
+
+ USAGE:
+ $SCRIPT [OPTIONS...] <COMPANY> <ADDRESS> -- [LATEXMK_OPTS...]
+
+ OPTIONS:
+ -A, --all Build all cover letters
+ -n, --name Specify a company name to use for generic cover letter
+ -a, --address Specify a company address to use for generic cover letter
+ -o, --open Open combined PDF after building
+ -h, --help Show this help.
-for f in ./src/*/cover_letter.tex; do
- latexmk "$f"
+ EXAMPLES:
+ $SCRIPT -n "Chuck's Clucks" -a "Cluckville, KY" --open
+ EOF
+}
+
+error() {
+ printf 'Error: %s' "$1" 1>&2
+ help
+ exit 1
+}
+
+open=false
+all=false
+while true; do
+ case "$1" in
+ -h | --help)
+ help
+ exit 0
+ ;;
+ -o | --open)
+ open=true
+ shift
+ ;;
+ -A | --all)
+ all=true
+ shift
+ ;;
+ -n | --name)
+ name=$2
+ shift 2
+ ;;
+ -a | --address)
+ address=$2
+ shift 2
+ ;;
+ --)
+ shift
+ break
+ ;;
+ *)
+ exit 1
+ ;;
+ esac
done
+
+if $all; then
+ for f in src/*/cover_letter.tex; do
+ latexmk "$f"
+ done
+fi
+
+if [ -n "$name" ]; then
+ if [ -n "$address" ]; then
+ company=generic
+ set -- "$@" -usepretex="\def\companyname{$name}\def\companyaddress{$address}" -g
+ elif [ -e "src/$name/cover_letter.tex" ]; then
+ company="$name"
+ else
+ error "Directory $name not found"
+ fi
+else
+ company=generic
+ set -- "$@" -g
+fi
+
+latexmk "src/resume.tex"
+latexmk "src/$company/cover_letter.tex" -cd- -outdir="src" -auxdir="src" "$@"
+pdfunite src/cover_letter.pdf src/resume.pdf src/cover_letter-resume.pdf
+
+if $open; then
+ xdg-open src/cover_letter-resume.pdf
+fi