npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

r2z

v0.0.222

Published

A viewer application for EPUB files.

Downloads

321

Readme

R2D2BC

Introduction

R2D2BC is an implementation of the Readium v2 EPUB reader for the web. It is built as a modular toolkit (rather than a full-featured app) so that applications can use it to handle the EPUB-related functions while customizing the own design, user interface, and extensions.

Goals

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

Architecture

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)

Origins

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.

Features & Functionalities

  • ePub Reflowable + Fixed Layout
  • Reader Settings
  • Configurable Modules with Callbacks
  • Injectable Fonts, CSS, Javascript
  • Text Selection with Injectable Context Menu
  • Bookmarks
  • Highlights
  • Annotations
  • TTS - Text to speech / Read Aloud
  • Media Overlays - Read Along
  • Search
  • Content Protection
  • Definitions
  • Popup Footnotes
  • Page Breaks - Page Numbers in margin
  • Sample Read
  • Timeline
  • Layers
  • Line Focus (Beta Feature)
  • Popups and Popovers

Extensions and Implementations

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... :)

Contributing

Contributions are always welcomed! Please see CONTRIBUTING for detailed guidelines.

DepShield Badge

Get Started

Download ebook examples here: https://standardebooks.org/ebooks and copy them to ./examples/epubs. Then:

npm install

npm run build && npm run examples

Then visit http://localhost:4444/. Follow the prompts to view example apps.

WIKI

Migration Guides

Change Log

Supporters