diff options
| author | Volpeon <git@volpeon.ink> | 2020-12-22 11:32:19 +0100 | 
|---|---|---|
| committer | Volpeon <git@volpeon.ink> | 2020-12-22 11:32:19 +0100 | 
| commit | 79b82efe8902cb1269372008afd5792afab37df7 (patch) | |
| tree | 1bd9949bcb0b71cbd78cc773819e7ad0f0eea252 | |
| parent | Improved watch scripts (diff) | |
| download | volpeon.ink-79b82efe8902cb1269372008afd5792afab37df7.tar.gz volpeon.ink-79b82efe8902cb1269372008afd5792afab37df7.tar.bz2 volpeon.ink-79b82efe8902cb1269372008afd5792afab37df7.zip  | |
Fine-grained compilation when watching
| -rwxr-xr-x | scripts/build_content.sh | 33 | ||||
| -rwxr-xr-x | scripts/watch_content.sh | 10 | ||||
| -rwxr-xr-x | scripts/watch_sass.sh | 4 | 
3 files changed, 38 insertions, 9 deletions
diff --git a/scripts/build_content.sh b/scripts/build_content.sh index 4476d45..992414d 100755 --- a/scripts/build_content.sh +++ b/scripts/build_content.sh  | |||
| @@ -2,7 +2,32 @@ | |||
| 2 | 2 | ||
| 3 | SITE_TITLE="Volpeon's Den" | 3 | SITE_TITLE="Volpeon's Den" | 
| 4 | 4 | ||
| 5 | find content/ \ | 5 | target () { | 
| 6 | -iname "*.md" \ | 6 | echo "dist/$(echo ${1%.md}.html | cut -sd / -f 2-)" | 
| 7 | -type f \ | 7 | } | 
| 8 | -exec sh -c 'TARGET=dist/$(echo ${0%.md}.html | cut -sd / -f 2-); mkdir -p $(dirname $TARGET) && pandoc "${0}" -t html5 --template templates/base.html -o "$TARGET" --metadata sitetitle="$1"' {} "$SITE_TITLE" \; | 8 | |
| 9 | compile () { | ||
| 10 | TARGET=$(target "$1") | ||
| 11 | mkdir -p $(dirname "$TARGET") | ||
| 12 | pandoc "$1" \ | ||
| 13 | -t html5 \ | ||
| 14 | --template templates/base.html \ | ||
| 15 | -o "$TARGET" \ | ||
| 16 | --metadata sitetitle="$SITE_TITLE" | ||
| 17 | } | ||
| 18 | |||
| 19 | if [ -z "$1" ]; then | ||
| 20 | find content/ \ | ||
| 21 | -iname "*.md" \ | ||
| 22 | -type f \ | ||
| 23 | | while read FILE | ||
| 24 | do | ||
| 25 | compile "$FILE" | ||
| 26 | done | ||
| 27 | else | ||
| 28 | if [ "$2" = "delete" ]; then | ||
| 29 | rm $(target $1) | ||
| 30 | else | ||
| 31 | compile "$1" | ||
| 32 | fi | ||
| 33 | fi | ||
diff --git a/scripts/watch_content.sh b/scripts/watch_content.sh index d2578e1..38567dc 100755 --- a/scripts/watch_content.sh +++ b/scripts/watch_content.sh  | |||
| @@ -1,8 +1,12 @@ | |||
| 1 | #!/bin/bash | 1 | #!/bin/bash | 
| 2 | 2 | ||
| 3 | inotifywait -m -e create -e close_write --format "%f" content \ | 3 | inotifywait -rme create,close_write,delete,move --format "%f" content \ | 
| 4 | | while read FILENAME | 4 | | while read FILENAME | 
| 5 | do | 5 | do | 
| 6 | printf "Change detected: %s\n" "$FILENAME" | 6 | printf "Change detected: %s\n" "content/$FILENAME" | 
| 7 | scripts/build_content.sh | 7 | if [ -f "content/$FILENAME" ]; then | 
| 8 | scripts/build_content.sh "content/$FILENAME" | ||
| 9 | else | ||
| 10 | scripts/build_content.sh "content/$FILENAME" "delete" | ||
| 11 | fi | ||
| 8 | done | 12 | done | 
diff --git a/scripts/watch_sass.sh b/scripts/watch_sass.sh index e7b2952..1b99f5d 100755 --- a/scripts/watch_sass.sh +++ b/scripts/watch_sass.sh  | |||
| @@ -1,8 +1,8 @@ | |||
| 1 | #!/bin/bash | 1 | #!/bin/bash | 
| 2 | 2 | ||
| 3 | inotifywait -m -e create -e close_write --format "%f" assets \ | 3 | inotifywait -rme create,close_write,delete,move --format "%f" assets \ | 
| 4 | | while read FILENAME | 4 | | while read FILENAME | 
| 5 | do | 5 | do | 
| 6 | printf "Change detected: %s\n" "$FILENAME" | 6 | printf "Change detected: %s\n" "assets/$FILENAME" | 
| 7 | scripts/build_sass.sh | 7 | scripts/build_sass.sh | 
| 8 | done | 8 | done | 
