feat: add build commands to distribute over HTTP

This commit is contained in:
Andrew Rioux
2025-10-19 21:59:42 -04:00
parent e164ed9c12
commit 4430469cdc
5 changed files with 411 additions and 0 deletions

29
build/build-article.sh Executable file
View File

@@ -0,0 +1,29 @@
#!/usr/bin/env bash
set -eux
export FILE_NAME="$1"
LAST_COMMIT="$(git rev-list -1 HEAD -- "$FILE_NAME")"
FIRST_COMMIT_DATE="$(git log --diff-filter=A --no-patch --no-notes --pretty='%as' -- "$FILE_NAME")"
FIRST_COMMIT_DATE_PRETTY="$(git log --diff-filter=A --no-patch --no-notes '--date=format:%B, %e %Y' --pretty='%ad' -- "$FILE_NAME")"
LAST_COMMIT_DATE="$(git show --no-patch --no-notes --pretty='%as' "$LAST_COMMIT")"
export LAST_COMMIT
export FIRST_COMMIT_DATE
export FIRST_COMMIT_DATE_PRETTY
export LAST_COMMIT_DATE
emacs --batch --load resources/html-setup.el "$1" --funcall org-html-export-to-html
emacs --batch "$1" --funcall org-latex-export-to-latex
TEX_FILE="${FILE_NAME%.org}.tex"
sed -i -e "s/\\\\date{\\\\today}/\\\\date{$FIRST_COMMIT_DATE_PRETTY}/" "$TEX_FILE"
TEX_BUILD="$(mktemp -d)"
cp "$TEX_FILE" "$TEX_BUILD"
pushd "${TEX_BUILD}"
pdflatex "$(basename "$TEX_FILE")" > /dev/null
popd
ls -al "$TEX_BUILD"
ls -al "$TEX_BUILD/$(basename "${TEX_FILE%.tex}.pdf")"
cp "$TEX_BUILD/$(basename "${TEX_FILE%.tex}.pdf")" "$(dirname "$TEX_FILE")"
rm "$TEX_FILE"