summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md75
1 files changed, 75 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..8fbd5c8
--- /dev/null
+++ b/README.md
@@ -0,0 +1,75 @@
+# Sci-Fi Books Showcase
+
+A static HTML page showcasing a science fiction book collection. Works fully offline with all assets stored locally.
+
+**Live demo:** https://f3s.buetow.org/scifi
+
+## Features
+
+- Responsive book grid with cover images
+- Filter by author, format (Paperback/eBook/Audiobook), or search
+- Click any book to view details and plot summary
+- Fully offline - no external dependencies after build
+- W3C validated HTML
+
+## Quick Start
+
+```bash
+# Build the site (embeds summaries into books.json and creates dist/)
+just build
+
+# Deploy to server
+just dist
+
+# Local development server
+just open
+```
+
+## Project Structure
+
+```
+├── index.html # Main page
+├── css/styles.css # Styling
+├── js/app.js # Client-side logic (filtering, modals)
+├── data/books.json # Book metadata with embedded summaries
+├── summaries/{id}.md # Book summaries as markdown (source files)
+├── images/covers/{id}.jpg # Cover images
+├── build.js # Build script
+├── dist/ # Generated distribution directory
+└── Justfile # Task runner commands
+```
+
+## Adding a Book
+
+1. Add entry to `data/books.json`:
+ ```json
+ {
+ "id": 55,
+ "title": "Book Title",
+ "author": "Author Name",
+ "year": 2024,
+ "format": "Paperback",
+ "isbn": "9781234567890",
+ "language": "en",
+ "coverLocal": "images/covers/55.jpg"
+ }
+ ```
+
+2. Add cover image as `images/covers/55.jpg`
+
+3. Create summary file `summaries/55.md`:
+ ```markdown
+ # Book Title
+
+ Plot summary goes here...
+ ```
+
+4. Run `just build` to rebuild
+
+## Editing Summaries
+
+Summaries are stored as individual markdown files in `summaries/`. Edit them directly, then run `just build` to embed them into `books.json`.
+
+## License
+
+Data sourced from [foo.zone](https://foo.zone/about/novels.html).