• Stars
    star
    153
  • Rank 243,368 (Top 5 %)
  • Language
    JavaScript
  • License
    BSD 3-Clause "New...
  • Created about 8 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

📚 Documents the architecture of the Readium project

Readium Architecture

All Readium implementations (mobile, desktop or Web) are split in two main modules, which use the Readium Web Publication Manifest to communicate together.

On the Web, the Publication Server is responsible for serving a Readium Web Publication Manifest and the resources of a publication over HTTPS.

In native apps, the Streamer is responsible for parsing packaged publications and exposing them using an in-memory model.

On all platforms, the Navigator is meant to navigate in the resources of a publication and can adopt very different strategy based on the nature of the publication (ebooks, audiobooks and comics).

These modules are not necessarily meant to be deployed on the same device or written in the same language, which lets developers select the best implementation based on their requirements.

Diagram of the Readium Architecture

Projects

Components

Models

Main Modules

Services

API

The API of each module is specified via Readium Evolution Proposals, which are discussed collaborativelty before being implemented by the core developers of the toolkits.

Ecosystem

Take a look at our dedicated awesome-readium repository to explore the ecosystem built around Readium.

More Repositories

1

readium-js-viewer

👁 ReadiumJS viewer: default web app for Readium.js library
HTML
517
star
2

readium-sdk

A C++ ePub renderer SDK
C
372
star
3

readium-js

EPUB processing engine written in Javascript
JavaScript
339
star
4

swift-toolkit

A toolkit for ebooks, audiobooks and comics written in Swift
Swift
260
star
5

kotlin-toolkit

A toolkit for ebooks, audiobooks and comics written in Kotlin
Kotlin
185
star
6

awesome-readium

⭐️ Awesome Readium-related resources
172
star
7

r2-testapp-swift

Swift
149
star
8

r2-testapp-kotlin

Kotlin
128
star
9

mobile

📱 Readium Mobile is a toolkit for ebooks, audiobooks and comics written in Swift & Kotlin.
HTML
104
star
10

readium-css

🌈 A set of reference stylesheets for EPUB Reading Systems, starting with Readium Mobile
HTML
87
star
11

readium-shared-js

Repository for the shared JavaScript libraries that are used in the SDK-Launchers and other applications developed on top of the SDK
JavaScript
78
star
12

SDKLauncher-Android

Launcher app for Readium SDK on Android
JavaScript
76
star
13

webpub-manifest

📜 A JSON based Web Publication Manifest format used at the core of the Readium project
HTML
72
star
14

SDKLauncher-iOS

A small iOS application to serve as a launcher/testbed for the Readium SDK.
JavaScript
70
star
15

readium-lcp-server

Repository for the Readium LCP Server
Go
61
star
16

ts-toolkit

A toolkit for ebooks, audiobooks and comics written in Typescript
TypeScript
59
star
17

readium-cfi-js

JavaScript
43
star
18

go-toolkit

A toolkit for ebooks, audiobooks and comics written in Go
Go
38
star
19

desktop

Readium Desktop is an SDK for ebooks, audiobooks and comics written in Typescript and using node.js and Electron.js.
23
star
20

r2-streamer-swift

Swift
22
star
21

SDKLauncher-OSX

A small OS X application to serve as a launcher/testbed for the Readium SDK on the Mac.
JavaScript
21
star
22

r2-navigator-swift

JavaScript
19
star
23

r2-streamer-kotlin

Kotlin
18
star
24

r2-streamer-js

NodeJS Readium2 "streamer"
JavaScript
15
star
25

readium.github.io

Base repo for hosting the landing pages for the organization's web pages
HTML
14
star
26

r2-navigator-kotlin

Kotlin
12
star
27

readium-lcp-client

This repository is for the Readium Licenced Content Protection (LCP) client side implementation work.
C++
11
star
28

r2-shared-swift

Swift
10
star
29

r2-navigator-web

A Readium Navigator module for Web applications, written in Typescript
TypeScript
8
star
30

r2-shared-kotlin

Kotlin
8
star
31

r2-testapp-js

NodeJS Readium2 "test app"
TypeScript
8
star
32

r2-shared-js

NodeJS Readium2 "shared" components
TypeScript
8
star
33

r2-workspace-kotlin

A workspace for on-boarding developers
8
star
34

r2-streamer-java

A Java implementation of the Readium-2 streamer
Java
8
star
35

lcp-specs

🔐 Releases, drafts and schema for Readium LCP
SCSS
7
star
36

r2-opds-swift

Swift
7
star
37

r2-opds-js

NodeJS Readium2 "opds" component
TypeScript
7
star
38

readium-test-files

Some ePub3 files used to demonstrate the capabilities of the Readium SDK and derived reading systems.
JavaScript
6
star
39

r2-navigator-js

NodeJS Readium2 "navigator"
TypeScript
6
star
40

r2-lcp-swift

Swift LCP module
Swift
5
star
41

r2-opds-kotlin

Kotlin
4
star
42

r2-glue-js

Javascript resources that are injected by a Readium-2 streamer or navigator
TypeScript
3
star
43

r2-lcp-kotlin

Kotlin
3
star
44

r2-lcp-js

NodeJS LCP Module
TypeScript
3
star
45

r2-utils-js

NodeJS Readium2 "utils"
TypeScript
2
star
46

r2-workspace-swift

A workspace for on-boarding developers
2
star
47

readium-planning

A repo for various planning documents (as opposed to code/architecture documents)
1
star
48

readium-interfaces

A set of interfaces that provide access to the functionality in Readium 1 and 2.
JavaScript
1
star
49

divina-player-js

JS Player for Digital Visual Narratives
JavaScript
1
star
50

guided-navigation

🪧 Guiding readers through a publication using a JSON based document
HTML
1
star