website of all the scifi books i read
  • JavaScript 54.5%
  • CSS 35.7%
  • HTML 8%
  • Just 1.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-03-13 22:04:15 +02:00
css Add spacing between plot paragraphs 2026-01-25 15:19:12 +02:00
data add 2026-03-13 17:24:34 +02:00
images/covers Add Reynolds trilogy assets 2026-03-13 17:28:57 +02:00
js Refactor app initialization flow 2026-03-13 22:04:15 +02:00
summaries Add Reynolds trilogy assets 2026-03-13 17:28:57 +02:00
.gitignore Add dist directory generation and deploy target 2026-01-27 21:10:17 +02:00
AGENTS.md Merge CLAUDE.md into AGENTS.md 2026-01-25 21:05:09 +02:00
build.js Add dist directory generation and deploy target 2026-01-27 21:10:17 +02:00
CLAUDE.md add back claude 2026-01-25 21:05:36 +02:00
index.html Add modal-title placeholder for W3C validation 2026-01-27 21:18:16 +02:00
Justfile Add dist directory generation and deploy target 2026-01-27 21:10:17 +02:00
README.md Add README with project overview and usage instructions 2026-01-27 21:20:15 +02:00
serve.js Use Node.js for webserver instead of Python 2026-01-25 21:08:29 +02:00

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

# 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:

    {
      "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:

    # 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.