summaryrefslogtreecommitdiffstats
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
parent46caa32559fb370ab05e25c6373448bb235b86ef (diff)
build: improve build script and combined pdfv0.1.4v0.1.3
-rw-r--r--.build.yml19
-rwxr-xr-xbuild-generic.sh71
-rwxr-xr-xbuild.sh102
3 files changed, 113 insertions, 79 deletions
diff --git a/.build.yml b/.build.yml
index 1878e56..95eba0c 100644
--- a/.build.yml
+++ b/.build.yml
@@ -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
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