EPUB and other package formats
Clone this wiki locally
Monocle is designed to be format-agnostic. This means you have to do a bit of work to get it to support a given ebook package format, like EPUB, MOBI, Zhook, etc.
The reason for this is not philosophical. We'd love to save you the work. The reason is practical: removing the packaging of an ebook (typically by unzipping it) and then parsing its internal structure is way too slow and wasteful of resources to be performed client-side. This is more than ever the case with low-specification mobile devices. Those devices are key target platforms for Monocle.
Otherwise, you're going to pre-process EPUB files on the server-side. That's where you gather the raw data needed to define a book data object. There's a bunch of libraries that exist to do this sort of thing in various languages. If you're using Ruby, take a look at Peregrin.
What about EPUB3?
All of the above still applies. If you identify a point of incompatibility, please lodge an issue in the Monocle bug tracker.