diff options
| -rw-r--r-- | README.md | 75 |
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). |
