Reading .repub in the Browser (Archived)
A historical note from the custom-reader experiment. The current books flow is EPUB3-first.
This post is an archive note from the earlier RichEPub experiment.
At that point the site could fetch a .repub file, unpack it in the browser, rewrite asset URLs, and run the bundled app inside a sandboxed iframe. The current books flow is different: the active reading path on the site is EPUB3-first, not .repub.
Why keep this note
The runtime is no longer the main direction, but the browser-side lessons still mattered:
- sandboxing matters if book content can execute JavaScript
- asset rewriting gets fragile quickly
- custom runtime containers create a large maintenance surface
- every custom reader feature pulls you farther away from the wider ebook ecosystem
Why the experiment stopped
The browser reader technically worked. The problem was strategic, not just technical.
Once the reader existed, the next question was whether the project really benefited from carrying a custom package format, custom runtime rules, and custom security surface. For this site, the answer turned into "not enough."
That is why the active work moved back toward EPUB3 output and better author tooling instead of doubling down on .repub.
What still transfers
If I revisit a richer authoring system later, the useful parts of this experiment are:
- careful packaging expectations
- explicit asset handling
- predictable rendering constraints
- strong separation between author tooling and reader runtime
Those lessons still apply. The container itself is the part I no longer think needs to be custom.