A viewer application for EPUB files.
npm install @d-i-t-a/reader
- Follow the Readium architecture specification for best interoperability
- Allow maximum configurability via API methods, callbacks, code and style injection, and clear separation of functions.
- Modularity
- Clarity of code and ease of maintenance
- Speed
- Accessibility
- Free and open source
The R2D2BC project intentionally includes only a base-bones demonstration user interface, and no sample content.
Any implementer can add their own functionality and design without refactoring the whole project.
See below for projects that provide the necessary other elements to try it out and see it in action.
This project implements most components of the Readium Architecture:
- Implements Locator
- Implements UserSettings
- Implements Webpub Manifest
- Implements the Readium shared models
- Integrates Readium CSS
- Integrates a simple Navigator for reflowable publications
Additionally, it:
- Provides a decoupled Minimal UI
- Provides build system optimization (Webpack)
Here is the original proposal, initiated by Aferdita Muriqi to the
Readium Weekly Eng Meeting - 05/22/2019
Subsequent development of R2D2BC has been supported by DITA, Bokbasen, and CAST - which explains the D2, B, and C in the name.
The R2D2BC reader has been used in:
- The Clusive learning environment
- Bokbasen's Allbok.no
- Allvir's Allvit.no Reading Platform
- The UNODC Fieldguides
- The DITA Gateway D2G with several open collections
- Ekitabu's Web Reader Implementations through Dita Gateway
- NYPL's Web Reader Implementations
- Bibliotheca's CloudLibrary as Sample Reader and Full ePub Reader
- Above the Treeline's Edeweiss+
- Bluefire's Web Reader Implementations
- In a Project in the Meta Verse (to be named once public)
- and a few more... :)

Download ebook examples here: https://standardebooks.org/ebooks and copy them to ./examples/epubs. Then:
``
npm install
npm run build && npm run examples
`http://localhost:4444/`. Follow the prompts to view example apps.
Then visit
