diff options
author | Joris | 2023-09-12 22:45:16 +0200 |
---|---|---|
committer | Joris | 2023-09-12 22:45:16 +0200 |
commit | c8ffa6722ef948879fa6ed9642ad134a2193fa4b (patch) | |
tree | 06742ecb6f838af6f0a44344505bd5fc11b24397 | |
parent | 941e8eb10c7e9cef883fbbc283f154f3312f0f9b (diff) |
Write metadata in TOML
-rw-r--r-- | README.md | 28 | ||||
-rwxr-xr-x | bin/get-books | 9 | ||||
-rw-r--r-- | flake.nix | 1 |
3 files changed, 21 insertions, 17 deletions
@@ -4,23 +4,25 @@ Visualize a book library. ## Book library -Organize folders as you wish, only `metadata.json` files matter: - -```json -{ - "title": "Title of the Book", - "subtitle": "Optional subtitle", - "authors": [ "Author 1", "Author 2" ], - "authorsSort": "Author sorting", - "genres": [ "Foo", "Bar", "Baz" ], - "year": "1234", - "read": "Read" -} +Organize folders as you wish, only `metadata.toml` files matter: + +```toml +title = "Title of the Book" +subtitle = "Optional subtitle" +authors = [ "Author 1", "Author 2" ] +authorsSort = "Author sorting" +genres = [ "Foo", "Bar", "Baz" ] +year = 1234 +summarry = """ +First paragraph +Second paragraph +""" +read = "Read" ``` `read` is one of: `Read`, `Unread`, `Reading`, `Stopped`. -Each `metadata.json` file correspond to a book, and there **must** be a cover +Each `metadata.toml` file correspond to a book, and there **must** be a cover named `cover.ext` in the same directory. Any extension works. ## Show library diff --git a/bin/get-books b/bin/get-books index d3ac0f6..1c9bf67 100755 --- a/bin/get-books +++ b/bin/get-books @@ -11,13 +11,14 @@ fi echo "const bookLibrary = [" -for METADATA in $(find "$BOOK_DIR" -name 'metadata.json'); do +for METADATA in $(find "$BOOK_DIR" -name 'metadata.toml'); do DIR=$(dirname "$METADATA") COVER=$(ls $DIR/cover.*) - cat "$METADATA" | head -n -1 - echo ", \"cover\": \"$COVER\"" - echo "}," + TOML=$(cat "$METADATA") + WITH_COVER=$(echo -e "$TOML\ncover = \"$COVER\"") + echo "$WITH_COVER" | toml2json + echo "," done echo "]" @@ -15,6 +15,7 @@ nodePackages.typescript psmisc # fuser python3 + toml2json watchexec ]; }; |