about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-08-03 19:00:22 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-08-03 19:00:22 +0200
commit73d09bb9b771f0fbbb60cd4f91623db8fa4709d3 (patch)
tree52879092d8c5417c3bbc04a0344e747e1ebad6f8
parentfeat(templates/latex/academia): Support changing the language (diff)
downloadflake-templates-73d09bb9b771f0fbbb60cd4f91623db8fa4709d3.tar.gz
flake-templates-73d09bb9b771f0fbbb60cd4f91623db8fa4709d3.zip
refactor(templates/latex/academia): Use more common files
-rwxr-xr-xcommon/scripts/latex/build.sh14
-rwxr-xr-xcommon/scripts/latex/extract_text_from_all.sh8
-rwxr-xr-xcommon/scripts/latex/watch.sh70
l---------[-rw-r--r--]templates/latex/academia/README.md14
l---------[-rwxr-xr-x]templates/latex/academia/build.sh15
l---------[-rwxr-xr-x]templates/latex/academia/scripts/extract_text_from_all.sh9
l---------[-rwxr-xr-x]templates/latex/academia/watch.sh71
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