From 25abf9bc7fd3e6f5b5aabf745cef7d217cde4262 Mon Sep 17 00:00:00 2001 From: Joris Date: Sat, 21 Jan 2023 14:10:47 +0100 Subject: Setup initial view of covers --- bin/dev-server | 21 +++++++++++++++++++++ bin/get-data | 23 +++++++++++++++++++++++ bin/view | 16 ++++++++++++++++ 3 files changed, 60 insertions(+) create mode 100755 bin/dev-server create mode 100755 bin/get-data create mode 100755 bin/view (limited to 'bin') 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" -- cgit v1.2.3