• Stars
    star
    185
  • Rank 208,271 (Top 5 %)
  • Language
    Kotlin
  • License
    BSD 3-Clause "New...
  • Created about 3 years ago
  • Updated about 2 months ago

Reviews

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

Repository Details

A toolkit for ebooks, audiobooks and comics written in Kotlin

Readium Kotlin Toolkit

Readium Mobile is a toolkit for ebooks, audiobooks and comics written in Swift & Kotlin.

This toolkit is a modular project, which follows the Readium Architecture. The different modules are found under readium/.

A Test App demonstrates how to integrate the Readium Kotlin toolkit in your own reading app.

Find documentation and API reference at readium.org/kotlin-toolkit.

Minimum Requirements

Readium Android min SDK Android compile SDK Kotlin compiler (✻) Gradle (✻)
3.0.0 21 34 1.9.22 8.2.2
2.3.0 21 33 1.7.10 6.9.3

✻ Only required if you integrate Readium as a submodule instead of using Maven Central.

Setting Up Readium

Readium modules are distributed with Maven Central. Make sure that you have the $readium_version property set in your root build.gradle, then add the Maven Central and JCenter repositories.

buildscript {
    ext.readium_version = '3.0.0-alpha.1'
}

allprojects {
    repositories {
        jcenter()
        mavenCentral()
    }
}

Then, add the dependencies to the Readium modules you need in your app's build.gradle.

dependencies {
    implementation "org.readium.kotlin-toolkit:readium-shared:$readium_version"
    implementation "org.readium.kotlin-toolkit:readium-streamer:$readium_version"
    implementation "org.readium.kotlin-toolkit:readium-navigator:$readium_version"
    implementation "org.readium.kotlin-toolkit:readium-opds:$readium_version"
    implementation "org.readium.kotlin-toolkit:readium-lcp:$readium_version"
}

Using a local Git clone

You may prefer to use a local Git clone if you want to contribute to Readium, or if you are using your own fork.

First, add the repository as a Git submodule of your app repository, then checkout the desired branch or tag:

git submodule add https://github.com/readium/kotlin-toolkit.git

Make sure you have Jetifier enabled in your gradle.properties file:

android.enableJetifier=true

Then, include the Readium build to your project's settings.gradle file. The Readium dependencies will automatically build against the local sources.

// Provide the path to the Git submodule.
includeBuild 'kotlin-toolkit'

⚠️ When importing Readium locally, you will need to use the same version of the Android Gradle Plugin in your project.

Building with Readium LCP

Using the toolkit with Readium LCP requires additional dependencies, including the binary liblcp provided by EDRLab. Contact EDRLab to request your private liblcp and the setup instructions.

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

awesome-readium

⭐️ Awesome Readium-related resources
172
star
6

architecture

📚 Documents the architecture of the Readium project
JavaScript
153
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