| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| epub-reader.html | 2026-09-14 | 15.5 kB | |
| minEpubReader.md | 2026-09-14 | 2.3 kB | |
| README.md | 2026-09-14 | 3.0 kB | |
| the_ashworth_chronicle_treatise.epub | 2026-09-14 | 117.9 kB | |
| Totals: 4 Items | 138.7 kB | 5 | |
Minimal Epub Reader
Ultra-minimal browser reader. Load a local .epub, read it, close it, resume later.
The recipe is the source of truth. epub-reader.html is a rendering.
- Recipe: minEpubReader.md (sourceforge.net)
- Rendering: epub-reader.html (sourceforge.net)
- Sample book: the_ashworth_chronicle_treatise.epub (sourceforge.net)
- Project: GenRecipe
What it is
A single HTML file that:
- Opens a local DRM-free
.epub(file picker or drag-and-drop) - Shows one chapter at a time
- Offers TOC jump, next/prev, keyboard arrows
- Remembers chapter and scroll position
- Shows chapter count and percent through the book
- Lets you change theme (light / sepia / dark) and type size
No library. No sync. No store. Paperback energy.
Run it
- Download
epub-reader.html. - Open it in a browser. A local file works.
- Load an
.epub, or use the sample treatise in this folder.
CDN scripts: JSZip and epub.js. Needs a network connection the first time those load.
DRM-protected books will not open. That is expected.
Build from the recipe
This is a Generative Recipe, not a codebase.
- Copy
minEpubReader.md. - Paste it into an AI.
- Say something like:
Build this from the recipe. Follow intent, vibe, constraints, and must-nots. Ask before you add extras. Give me a single HTML file.
- Open what you get. Note what felt wrong in the reading, not the file tree.
- Tighten the recipe. Build again.
epub-reader.html is one pass, not the spec.
Recipe already decided
From minEpubReader.md:
- Intent — browser reader for local epubs; chapters, position, progress; nothing more
- Vibe — ultra-minimal, like a paperback
- Mechanics — load, parse, one chapter at a time, resume, TOC, next/prev, progress
- Input — file picker, drag-and-drop, TOC clicks, arrows, progress-bar seek
- Feedback — chapter title, progress bar, auto-save position, loaded-state indicator
- Look — serif reading type, day/night (and sepia), adjustable size, no sound
- Free to interpret — font, theme, column width
- Output — one HTML file; epub.js or JSZip + XML
- Constraints — File API only, no DRM, chapter-at-a-time, IndexedDB for position, localStorage for prefs
Iteration notes in the recipe
- Pass 1: load and display chapters, next/prev
- Pass 2: remember position, TOC, progress
- Pass 3: font size, theme, keyboard shortcuts
The published HTML is past pass 3. If a new rendering drifts (library shelves, accounts, audio, cloud), the recipe is the correction, not a patch on the HTML.
License
MIT for the recipe and project materials unless a file says otherwise.
Generated artifacts belong to the person who generated them.