diff options
author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-08-03 13:19:02 +0200 |
---|---|---|
committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-08-03 13:23:22 +0200 |
commit | 0837aab929e88947d47a1a8c1492641169ee7127 (patch) | |
tree | 25516adad889a943e5ce514403ccb74ab012b140 /templates | |
parent | refactor(templates/latex): Declare as an academia template (diff) | |
download | flake-templates-0837aab929e88947d47a1a8c1492641169ee7127.tar.gz flake-templates-0837aab929e88947d47a1a8c1492641169ee7127.zip |
feat(templates/latex): Add a `watch.sh` script
Diffstat (limited to 'templates')
-rwxr-xr-x | templates/latex/academia/watch.sh | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/templates/latex/academia/watch.sh b/templates/latex/academia/watch.sh new file mode 100755 index 0000000..e5147f2 --- /dev/null +++ b/templates/latex/academia/watch.sh @@ -0,0 +1,70 @@ +#!/usr/bin/env sh + +help() { + cat <<EOF +An simple watch script, useful to see the changes in the document as it evolves. + +USAGE: + watch.sh [OPTIONS] [COMMAND] + +OPTIONS: + --help | -h + Display this help and exit. + + --open [READER] | -o [READER] + Open the build PDF in READER before waiting for changes. + READER defaults to the READER environment variable or + 'zathura' if the env variable is unset. + --sleeptime [T] | -s [T] + How long to sleep between each build attempt in seconds. The + time defaults to 10 seconds. +ARGUMENTS: + READER := [[echo "\${READER-zathura}"]] + The reader to open the build PDF with. + + T := [[seq 1 100]] + The time to sleep between each build attempt. +EOF +} + +reader="" +time="10" +for arg in "$@"; do + case "$arg" in + "--help" | "-h") + help + exit 0 + ;; + + "--open" | "-o") + shift 1 + reader="$1" + if [ -z "$reader" ]; then + reader="${READER-zathura}" + else + shift 1 + fi + ;; + + "--sleeptime" | "-s") + shift 1 + time="$1" + if [ -z "$time" ]; then + time=10 + else + shift 1 + fi + ;; + *) + echo "'$1' is not a recognized option! See '--help' for more detail." 1>&2 + exit 1 + ;; + esac +done + +[ -n "$reader" ] && "$reader" ./build/%INIT_APPLICATION_NAME.pdf & + +while true; do + ./build.sh + sleep "$time" +done |