diff options
author | Joris | 2023-01-21 14:10:47 +0100 |
---|---|---|
committer | Joris | 2023-01-21 14:10:47 +0100 |
commit | 25abf9bc7fd3e6f5b5aabf745cef7d217cde4262 (patch) | |
tree | d3ef6f2be1b117cfe5c75f5cd22408b2f47088f0 /bin | |
parent | 424cabd49593b13470be1868cf75349b1830929c (diff) |
Setup initial view of covers
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/dev-server | 21 | ||||
-rwxr-xr-x | bin/get-data | 23 | ||||
-rwxr-xr-x | bin/view | 16 |
3 files changed, 60 insertions, 0 deletions
diff --git a/bin/dev-server b/bin/dev-server new file mode 100755 index 0000000..4136091 --- /dev/null +++ b/bin/dev-server @@ -0,0 +1,21 @@ +#!/usr/bin/env bash +set -euo pipefail +cd $(dirname "$0")/.. + +if [ "$#" == 1 ]; then + BOOK_DIR="$1" +else + echo "usage: $0 path-to-book-directory" + exit 1 +fi + +# Watch + +clear +echo "Open your browser at file://$PWD/public/index.html" +echo + +BUILD_CMD="./bin/get-data $BOOK_DIR > public/data.js && echo public/data.js updated." +watchexec \ + --watch "$BOOK_DIR" \ + -- "$BUILD_CMD" diff --git a/bin/get-data b/bin/get-data new file mode 100755 index 0000000..0fbbd2f --- /dev/null +++ b/bin/get-data @@ -0,0 +1,23 @@ +#!/usr/bin/env bash +set -euo pipefail +cd $(dirname "$0")/.. + +if [ "$#" == 1 ]; then + BOOK_DIR="$1" +else + echo "usage: $0 path-to-book-directory" + exit 1 +fi + +echo "const books = [" + +for METADATA in $(find "$BOOK_DIR" -name 'metadata.json'); do + DIR=$(dirname "$METADATA") + COVER=$(ls $DIR/cover.*) + + cat "$METADATA" | head -n -1 + echo ", \"cover\": \"$COVER\"" + echo "}," +done + +echo "]" diff --git a/bin/view b/bin/view new file mode 100755 index 0000000..159bc6a --- /dev/null +++ b/bin/view @@ -0,0 +1,16 @@ +#!/usr/bin/env bash +set -euo pipefail +cd $(dirname "$0")/.. + +if [ "$#" == 2 ]; then + BROWSER="$1" + BOOK_DIR="$2" +else + echo "usage: $0 browser-cmd path-to-book-directory" + exit 1 +fi + +bin/get-data "$BOOK_DIR" > "public/data.js" +TMP_DIR=$(mktemp --directory) +cp public/* "$TMP_DIR" +eval "$BROWSER $TMP_DIR/index.html" |