website/build/build-article.sh
2025-10-19 22:00:06 -04:00

30 lines
1.0 KiB
Bash
Executable File

#!/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"