aboutsummaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorJoris2023-01-21 14:10:47 +0100
committerJoris2023-01-21 14:10:47 +0100
commit25abf9bc7fd3e6f5b5aabf745cef7d217cde4262 (patch)
treed3ef6f2be1b117cfe5c75f5cd22408b2f47088f0 /bin
parent424cabd49593b13470be1868cf75349b1830929c (diff)
Setup initial view of covers
Diffstat (limited to 'bin')
-rwxr-xr-xbin/dev-server21
-rwxr-xr-xbin/get-data23
-rwxr-xr-xbin/view16
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"