Reader is an ebook reader based on pure javascript renderers. It works for publications formatted according to the following standards:
For Epub Reader uses the futurepress epub.js renderer to provide near-native looks, especially when used full-screen. Turn pages by pressing the left/right hand side of the screen/window or using the cursor keys (if you have those), use the sidebar to browse through chapters or bookmarks and add annotations.
PDF is handled by Mozilla's pdf.js renderer in combination with a custom reader app to enable side-by-side display, batch search and more. Controls are like those used in the Epub renderer with a few exceptions, e.g. night mode has not been implemented yet.
CBR and CBZ are supported using a custom renderer inspired by balaclark's work. As with Epub, books can be navigated using the keyboard as well as mouse or touch navigation. Reader generates a visual index of all pages, show in the sidebar (thumbnail generation can be disabled for low-memory and/or -speed devices). As CBx files are often of varying quality, a set of image enhancement filters are provided.
Reader remembers the last-visited page in a book and returns to that page when the book is re-opened. As all settings are stored on the server these features are device-independent, ie. you can start reading on a mobile device, continue on a PC to finish the book on a tablet.
PDF support is still somewhat rough around the edges, not all features have been implemented yet. There is a known cosmetical issue in that in spread mode the (invisible but selectable) text layer for the left page is offset from the left when opening a document. As soon as a page is turned this problem disappears.
Reader supports both pointer/touch-based as well as keyboard-based navigation. Pointer/touch based is mostly self-explanatory,
key | function |
---|---|
left, page-up | move to previous page; move to next page in RTL(manga) mode |
right, page-down, space | move to next page; move to previous page in RTL (mange) mode |
home | move to first page |
end | move to last page |
s | toggle side bar |
esc | close sidebar |
f | toggle full screen |
t | toggle toolbar |
l | CBR: toggle layout |
a | EPUB: annotate |
b | EPUB: bookmark |
r | EPUB: reflow text when sidebar is open |
d | EPUB: toggle day (custom colour) mode |
n | EPUB: toggle night mode |
Reader stores defaults - settings which are independent of fileId (ie. independent of the book currently open) - and preferences - fileId-dependent (ie. different for every book) - on the server. Defaults are not shared between renderers, ie. the CBR renderer does not share defaults with the EPUB or PDF renderer. Defaults and preferences are removed from the server when the associated book or user is deleted.
Reader supports annotations (notes linked to a given position in a book) and bookmarks (position markers with automatically generated text snippets). An automatically generated bookmark (called ' CURSOR ', not visible in the bookmarks list) is used to keep track of the current reading position. Annotations and bookmark snippets can be edited or deleted in the sidebar.
Reader showing page spread in 'night mode' | |
Epub single page, full screen on a small-screen device | |
Day mode color selector | |
Longing for that olde-time terminal feeling... | |
Full-text search | |
Small screen device, maximize text area enabled | |
Search on small-screen device | |
As close to full-screen as you can get on iOS | |
Android supports true fullscreen (as do most other systems) |
Reader showing PDF Reference document in spread mode (pages side by side) | |
Search through a document, showing all results in the sidebar | |
Dropdown showing page format options - spread, single page, page width and zoom options | |
Reader showing PDF in spread mode, thumbnails in the sidebar |
iOS approximation of full screen, CBR | |
The same book, now in landscape mode, switch to 2-page spread is automatic | |
Sidebar open, showing index, landscape mode | |
Sidebar open, showing index, portrait mode | |
Image enhancement filters, desaturate (grayscale) active | |
full screen (apart from iOS restrictions), controls hidden | |
Same page, zoomed in | |
Small-screen, low memory (Android) device showing full-page book cover | |
The same Android device showing a zoomed-in part of a page |