Skip to content

Commit

Permalink
Added an explanation about the need for two toolkits
Browse files Browse the repository at this point in the history
  • Loading branch information
HadrienGardeur committed Aug 2, 2024
1 parent f4e97e9 commit 3632ff1
Showing 1 changed file with 32 additions and 1 deletion.
33 changes: 32 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,38 @@ Readium Web is divided into two separate toolkits:
- the [TypeScript toolkit](https://github.com/readium/ts-toolkit)
- and the [Go toolkit](https://github.com/readium/go-toolkit)

## Live demo
## Why do we need two toolkits?

The TypeScript and Go toolkits are meant to be complementary rather than competing toolkits.

The primary use case of the `go-toolkit` in a Web Reader implementation is to:

* stream packaged resources (EPUB, CBZ)
* output a [Readium Web Publication Manifest](https://readium.org/webpub-manifest) for each of them over HTTPS
* along with various complementary API responses ([Positions List](https://readium.org/architecture/models/locators/positions/), [Guided Navigation](https://readium.org/guided-navigation))
* and stream individual resources of these publications over HTTPS


Whereas the primary use case of the `ts-toolkit` in a Web Reader implementation is to:

* interact with a [Readium Web Publication Manifest](https://readium.org/webpub-manifest) and related APIs
* provide various navigators to handle various publication types (reflowable publications and fixed layout for now)
* along with the lower level API associated to these navigators (for example the [Preferences API](https://readium.org/architecture/proposals/009-preferences-api.html) or [Decorator API](https://readium.org/architecture/proposals/008-decorator-api.html))

We could say that the `go-toolkit` turns a publication into an API, whereas the `ts-toolkit` is the engine of a Web Reader.

## Readium Playground

The playground is a work in progress meant to illustrate the capabilities of Readium Web. In its current state, it provides a very basic vanilla reader that allows the user to navigate through publications.

Future work on this project will progressively bring it up to par with a reference implementation. Our current ETA for this work is to have something ready by the end of 2024.

- [Moby Dick](https://playground.readium.org/?book=https://publication-server.readium.org/bW9ieS1kaWNrLmVwdWI) (reflowable EPUB)
- [Bella the Dragon](https://playground.readium.org/?book=https://publication-server.readium.org/QmVsbGFPcmlnaW5hbDMuZXB1Yg) (fixed layout EPUB)

## Implementations

### De Marque

- [EPUB](https://r.cantook.com/cant/sample/aHR0cHM6Ly93d3cuY2FudG9vay5uZXQvc2FtcGxlLzUyODYyOTUvd2ViX3JlYWRlcl9tYW5pZmVzdD9mb3JtYXRfbmF0dXJlPWVwdWImc2lnaWQ9MTY4NzkyMzY5MiZzaWduYXR1cmU9NGM3YjA2YjYyMGE5ZWViNDdiYTliZTYyN2MzYjQ1MmJmNDc3ZWE1OTc0M2UwODJhOTAwMmExYTk5NDA2ODUxOA)
- [EPUB Fixed Layout](https://r.cantook.com/cant/sample/aHR0cHM6Ly93d3cuY2FudG9vay5uZXQvc2FtcGxlLzEwOTUwNTQwL3dlYl9yZWFkZXJfbWFuaWZlc3Q_Zm9ybWF0X25hdHVyZT1lcHViJnNpZ2lkPTE2ODc5MjM2OTImc2lnbmF0dXJlPTlmY2IyOWFmYjY2MGM0NDEzZmUwMmQ5ZGIyYTVkOTEyNTg1Yjc0OWE3Zjc4NTcwNGI2ZDEzMDExYzFiZjhlMmY)
Expand Down

0 comments on commit 3632ff1

Please sign in to comment.