diff options
-rw-r--r-- | .build.yml | 19 | ||||
-rwxr-xr-x | build-generic.sh | 71 | ||||
-rwxr-xr-x | build.sh | 102 |
3 files changed, 113 insertions, 79 deletions
@@ -3,20 +3,29 @@ oauth: git.sr.ht/OBJECTS:RW git.sr.ht/REPOSITORIES:RO git.sr.ht/PROFILE:RO packages: - texlive-luatex - texmf-dist-most + - poppler-utils - hut sources: - https://git.sr.ht/~tobyvin/resume artifacts: - resume/src/resume.pdf + - resume/src/cover_letter.pdf + - resume/src/cover_letter-resume.pdf - resume/src/cover_letters.tar.gz tasks: - - build: ./resume/build.sh - - package: | + - build: | cd resume - (cd src && tar -czvf cover_letters.tar.gz */*.pdf) + ./build.sh --all git describe --exact-match HEAD > pkgver || complete-build - - publish: | + - package: | cd resume + + (cd src && tar -czvf cover_letters.tar.gz */*.pdf) cp src/resume.pdf resume-$(<pkgver).pdf + cp src/cover_letter.pdf cover_letter-$(<pkgver).pdf + cp src/cover_letter-resume.pdf cover_letter-resume-$(<pkgver).pdf cp src/cover_letters.tar.gz cover_letters-$(<pkgver).tar.gz - hut git artifact upload ./resume-$(<pkgver).pdf ./cover_letters-$(<pkgver).tar.gz --rev=$(<pkgver) + - publish: | + cd resume + hut git artifact upload resume-$(<pkgver).pdf cover_letter-$(<pkgver).pdf \ + cover_letter-resume-$(<pkgver).pdf cover_letters-$(<pkgver).tar.gz --rev=$(<pkgver) diff --git a/build-generic.sh b/build-generic.sh deleted file mode 100755 index cefc9f4..0000000 --- a/build-generic.sh +++ /dev/null @@ -1,71 +0,0 @@ -#!/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' - help - exit 1 -fi - -name=$1 -address=$2 -shift 2 - -latexmk src/generic/cover_letter.tex -usepretex="\def\companyname{$name}\def\companyaddress{$address}" -g -jobname=custom_cover_letter "$@" -cp src/generic/custom_cover_letter.pdf src/cover_letter.pdf - -if $open; then - xdg-open src/cover_letter.pdf -fi @@ -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 |