Skip to content

Commit d501744

Browse files
authored
Update README (#578)
1 parent 10f6e21 commit d501744

2 files changed

Lines changed: 80 additions & 26 deletions

File tree

README.md

Lines changed: 80 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,83 @@
33
[Readium Mobile](https://github.com/readium/mobile) is a toolkit for ebooks, audiobooks and comics written in Swift & Kotlin.
44

55
> [!TIP]
6-
> **Take a look at the [guide to get started](docs/Guides/Getting%20Started.md).** A [Test App](TestApp) demonstrates how to integrate the Readium Swift toolkit in your own reading app.
6+
> **Take a look at the [guide to quickly get started](docs/Guides/Getting%20Started.md).** A [Test App](TestApp) demonstrates how to integrate the Readium Swift toolkit in your own reading app.
77
8-
This toolkit is a modular project, which follows the [Readium Architecture](https://github.com/readium/architecture).
8+
## Features
99

10-
* [`ReadiumShared`](Sources/Shared) – Shared `Publication` models and utilities
11-
* [`ReadiumStreamer`](Sources/Streamer) – Publication parsers and local HTTP server
12-
* [`ReadiumNavigator`](Sources/Navigator) – Plain `UIViewController` classes rendering publications
13-
* [`ReadiumOPDS`](Sources/OPDS) – Parsers for OPDS catalog feeds
14-
* [`ReadiumLCP`](Sources/LCP) – Service and models for [Readium LCP](https://www.edrlab.org/readium-lcp/)
10+
✅ Implemented      🚧 Partially implemented      📆 Planned      👀 Want to do      ❌ Will not do
1511

16-
## Minimum Requirements
12+
### Formats
13+
14+
| Format | Status |
15+
|---|:---:|
16+
| EPUB 2 ||
17+
| EPUB 3 ||
18+
| Readium Web Publication | 🚧 |
19+
| PDF ||
20+
| Readium Audiobook ||
21+
| Zipped Audiobook ||
22+
| Standalone audio files (MP3, AAC, etc.) ||
23+
| Readium Divina | 🚧 |
24+
| CBZ (Comic Book ZIP) | 🚧 |
25+
| CBR (Comic Book RAR) ||
26+
| [DAISY](https://daisy.org/activities/standards/daisy/) | 👀 |
27+
28+
### Features
29+
30+
A number of features are implemented only for some publication formats.
31+
32+
| Feature | EPUB (reflow) | EPUB (FXL) | PDF |
33+
|---|:---:|:---:|:---:|
34+
| Pagination ||||
35+
| Scrolling || 👀 ||
36+
| Right-to-left (RTL) ||||
37+
| Search in textual content ||| 👀 ||
38+
| Highlighting (Decoration API) ||| 👀 |
39+
| Text-to-speech (TTS) ||| 👀 |
40+
| Media overlays | 📆 | 📆 | |
41+
42+
### OPDS Support
43+
44+
| Feature | Status |
45+
|---|:---:|
46+
| [OPDS Catalog 1.2](https://specs.opds.io/opds-1.2) ||
47+
| [OPDS Catalog 2.0](https://drafts.opds.io/opds-2.0) ||
48+
| [Authentication for OPDS](https://drafts.opds.io/authentication-for-opds-1.0.html) | 📆 |
49+
| [Readium LCP Automatic Key Retrieval](https://readium.org/lcp-specs/notes/lcp-key-retrieval.html) | 📆 |
50+
51+
### DRM Support
52+
53+
| Feature | Status |
54+
|---|:---:|
55+
| [Readium LCP](https://www.edrlab.org/projects/readium-lcp/) ||
56+
| [Adobe ACS](https://www.adobe.com/fr/solutions/ebook/content-server.html) ||
57+
58+
59+
## User Guides
60+
61+
Guides are available to help you make the most of the toolkit.
62+
63+
### Publication
64+
65+
* [Opening a publication](docs/Guides/Open%20Publication.md) – parse a publication package (EPUB, PDF, etc.) or manifest (RWPM) into Readium `Publication` models
66+
* [Extracting the content of a publication](docs/Guides/Content.md) – API to extract the text content of a publication for searching or indexing it
67+
* [Text-to-speech](docs/Guides/TTS.md) – read aloud the content of a textual publication using speech synthesis
68+
69+
### Navigator
70+
71+
* [Navigator](docs/Guides/Navigator/Navigator.md) - an overview of the Navigator to render a `Publication`'s content to the user
72+
* [Configuring the Navigator](docs/Guides/Navigator/Preferences.md) – setup and render Navigator user preferences (font size, colors, etc.)
73+
* [Font families in the EPUB navigator](docs/Guides/Navigator/EPUB%20Fonts.md) – support custom font families with reflowable EPUB publications
74+
* [Integrating the Navigator with SwiftUI](docs/Guides/Navigator/SwiftUI.md) – glue to setup the Navigator in a SwiftUI application
75+
76+
### DRM
77+
78+
* [Supporting Readium LCP](docs/Guides/Readium%20LCP.md) – open and render LCP DRM protected publications
79+
80+
## Setting up the Readium Swift toolkit
81+
82+
### Minimum Requirements
1783

1884
<!-- https://swiftversion.net/ -->
1985

@@ -25,23 +91,22 @@ This toolkit is a modular project, which follows the [Readium Architecture](http
2591
| 2.5.0 | 10.0 | 5.6.1 | 13.4 |
2692
| 2.4.0 | 10.0 | 5.3.2 | 12.4 |
2793

28-
## Using Readium
2994

30-
<!--:question: **Find documentation and API reference at [readium.org/kotlin-toolkit](https://readium.org/swift-toolkit)**.-->
95+
### Dependencies
3196

32-
Readium libraries are distributed with [Swift Package Manager](#swift-package-manager) (recommended), [Carthage](#carthage) and [CocoaPods](#cocoapods). It's also possible to clone the repository (or a fork) and [depend on the libraries locally](#local-git-clone).
97+
The toolkit's libraries are distributed with [Swift Package Manager](#swift-package-manager) (recommended), [Carthage](#carthage) and [CocoaPods](#cocoapods). It's also possible to clone the repository (or a fork) and [depend on the libraries locally](#local-git-clone).
3398

3499
The [Test App](TestApp) contains examples on how to use all these dependency managers.
35100

36-
### Swift Package Manager
101+
#### Swift Package Manager
37102

38103
From Xcode, open **File** > **Add Packages** and use Readium's GitHub repository for the package URL: `https://github.com/readium/swift-toolkit.git`.
39104

40105
You are then free to add one or more Readium libraries to your application. They are designed to work independently.
41106

42107
If you're stuck, find more information at [developer.apple.com](https://developer.apple.com/documentation/swift_packages/adding_package_dependencies_to_your_app).
43108

44-
### Carthage
109+
#### Carthage
45110

46111
Add the following to your `Cartfile`:
47112

@@ -68,7 +133,7 @@ Refer to the following table to know which dependencies are required for each Re
68133
| `SQLite.swift` | | | | | | | :heavy_check_mark: |
69134
| `SwiftSoup` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | | |
70135

71-
### CocoaPods
136+
#### CocoaPods
72137

73138
Add the following `pod` statements to your `Podfile` for the Readium libraries you want to use:
74139

@@ -85,7 +150,7 @@ pod 'ReadiumLCP', '~> 3.2.0'
85150

86151
Take a look at [CocoaPods's documentation](https://guides.cocoapods.org/using/using-cocoapods.html) for more information.
87152

88-
### Local Git Clone
153+
#### Local Git Clone
89154

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

docs/Guides/README.md

Lines changed: 0 additions & 11 deletions
This file was deleted.

0 commit comments

Comments
 (0)