Home - Litres/FB3Reader GitHub Wiki
FB3Reader is a set of classes for browser-based eReaders. Some classes are provided as a template and should be rewritten by the consumer (the main examples of this are FB3ReaderSite members - these should always be redefined in place).
Some classes are ready-to-use but should be rewritten by consumers in several cases. Say, FB3DataProvider has AJAXDataProvider while implementing the reader on, say, iOS you may want to access your data without browser-powered HttpRequest. This classes could be sometimes rewritten using the native code and just provide the expected interfaces.
And there are some classes, like [FB3DOM.DOM](FB3DOM module, DOM class) or FB3Reader.Reader, which you are definetly not expected to change in 99% of cases, but just use them as they are (or why would you use FB3Reader if you have a ready-to-use reader? I wouldn't).
Module | Quick description |
---|---|
FB3ReaderSite | The site for the reader. Provides all the necessary interfaces for the reader to interact with a user. Mostly consumer-defined (example implementation provided). |
FB3DataProvider | "Physical-level" data access implementation mechanics. Includes interfaces and AJAX-based implementation for data retrieval. |
FB3DOM | Internal document tree implementation, consistent export of an arbitrary part to HTML. Top-level logic for data retrieval, document representation blocks and retrievable chunks relations. |
FB3Reader | The reader engine itself. Renders pages, processes events, relays for anything outside canvas for other modules. |