diff options
author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-08-03 19:00:22 +0200 |
---|---|---|
committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-08-03 19:00:22 +0200 |
commit | 73d09bb9b771f0fbbb60cd4f91623db8fa4709d3 (patch) | |
tree | 52879092d8c5417c3bbc04a0344e747e1ebad6f8 | |
parent | feat(templates/latex/academia): Support changing the language (diff) | |
download | flake-templates-73d09bb9b771f0fbbb60cd4f91623db8fa4709d3.tar.gz flake-templates-73d09bb9b771f0fbbb60cd4f91623db8fa4709d3.zip |
refactor(templates/latex/academia): Use more common files
-rwxr-xr-x | common/scripts/latex/build.sh | 14 | ||||
-rwxr-xr-x | common/scripts/latex/extract_text_from_all.sh | 8 | ||||
-rwxr-xr-x | common/scripts/latex/watch.sh | 70 | ||||
l---------[-rw-r--r--] | templates/latex/academia/README.md | 14 | ||||
l---------[-rwxr-xr-x] | templates/latex/academia/build.sh | 15 | ||||
l---------[-rwxr-xr-x] | templates/latex/academia/scripts/extract_text_from_all.sh | 9 | ||||
l---------[-rwxr-xr-x] | templates/latex/academia/watch.sh | 71 |
7 files changed, 96 insertions, 105 deletions
diff --git a/common/scripts/latex/build.sh b/common/scripts/latex/build.sh new file mode 100755 index 0000000..1206ee7 --- /dev/null +++ b/common/scripts/latex/build.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env sh + +# if no parameter is given, use 'dst' as destination directory +if [ -z "$1" ]; then + dst=build +else + dst="$1" +fi + +# find all directories which are not the destination dir or inside it +find . -type d -not -name "$dst" -not -path "./$dst/*" -printf '%P\n' | while IFS= read -r dir; do + mkdir --parents "$dst/$dir" +done +latexmk -outdir="$dst" -file-line-error -pdflatex -recorder "./%INIT_APPLICATION_NAME.tex" diff --git a/common/scripts/latex/extract_text_from_all.sh b/common/scripts/latex/extract_text_from_all.sh new file mode 100755 index 0000000..11b2ac4 --- /dev/null +++ b/common/scripts/latex/extract_text_from_all.sh @@ -0,0 +1,8 @@ +#! /usr/bin/env sh + +grep 'INPUT ./' ./build/main.fls | uniq | sed 's/INPUT //' | while read -r file; do + if ! [ "$(basename "$file")" = preamble.tex ] && ! [ "$(basename "$file")" = gymnasium.png ]; then + printf "\n%% Filename: %s\n" "$file" + grep -v '^\s*%' "$file" + fi +done diff --git a/common/scripts/latex/watch.sh b/common/scripts/latex/watch.sh new file mode 100755 index 0000000..e5147f2 --- /dev/null +++ b/common/scripts/latex/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 diff --git a/templates/latex/academia/README.md b/templates/latex/academia/README.md index ffa08c2..d250a7b 100644..120000 --- a/templates/latex/academia/README.md +++ b/templates/latex/academia/README.md @@ -1,13 +1 @@ -# %INIT_APPLICATION_NAME_STYLIZED - -> %INIT_DESCRIPTION - -Some text about the project. - -## Licence - -This document is licensed under a -Creative Commons Attribution-ShareAlike 4.0 International License. - -You should have received a copy of the license along with this -work. If not, see <https://creativecommons.org/licenses/by-sa/4.0/>. +../../../common/README.md \ No newline at end of file diff --git a/templates/latex/academia/build.sh b/templates/latex/academia/build.sh index 1206ee7..4220aab 100755..120000 --- a/templates/latex/academia/build.sh +++ b/templates/latex/academia/build.sh @@ -1,14 +1 @@ -#!/usr/bin/env sh - -# if no parameter is given, use 'dst' as destination directory -if [ -z "$1" ]; then - dst=build -else - dst="$1" -fi - -# find all directories which are not the destination dir or inside it -find . -type d -not -name "$dst" -not -path "./$dst/*" -printf '%P\n' | while IFS= read -r dir; do - mkdir --parents "$dst/$dir" -done -latexmk -outdir="$dst" -file-line-error -pdflatex -recorder "./%INIT_APPLICATION_NAME.tex" +../../../common/scripts/latex/build.sh \ No newline at end of file diff --git a/templates/latex/academia/scripts/extract_text_from_all.sh b/templates/latex/academia/scripts/extract_text_from_all.sh index 11b2ac4..6c7f5a8 100755..120000 --- a/templates/latex/academia/scripts/extract_text_from_all.sh +++ b/templates/latex/academia/scripts/extract_text_from_all.sh @@ -1,8 +1 @@ -#! /usr/bin/env sh - -grep 'INPUT ./' ./build/main.fls | uniq | sed 's/INPUT //' | while read -r file; do - if ! [ "$(basename "$file")" = preamble.tex ] && ! [ "$(basename "$file")" = gymnasium.png ]; then - printf "\n%% Filename: %s\n" "$file" - grep -v '^\s*%' "$file" - fi -done +../../../../common/scripts/latex/extract_text_from_all.sh \ No newline at end of file diff --git a/templates/latex/academia/watch.sh b/templates/latex/academia/watch.sh index e5147f2..fa5d4ea 100755..120000 --- a/templates/latex/academia/watch.sh +++ b/templates/latex/academia/watch.sh @@ -1,70 +1 @@ -#!/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 +../../../common/scripts/latex/watch.sh \ No newline at end of file |