Releases: internetarchive/bookreader
Releases · internetarchive/bookreader
3.0.6
3.0.5
3.0.4
3.0.3
- Add options: showToolbar, showLogo
- Add this.options field, which stores the options last used in setup call
- Improve
_getDataFlattened
to have simple cache breaker - Fix: don't show search UI if this.enableSearch is false
- Fix: add missing 'defaults' option to search plugin
- Move constants out of instance, and into class (eg BookReader.constMode1up)
3.0.2
3.0.2
In the process of upgrading IA, to use the new BookReader API, more changes/fixes were made.
- Separate default options into BookReader.defaultOptions. Also add BookReader.optionOverrides. These allow clients which use Internet Archive's JSIA endpoint (see demo-ia-plato.html) to have hooks into changing options. Also update plugins, to extend defaultOptions instead of modifying options in setup functions.
- Add BookReader.version, which helps IA support older versions in the JSIA endpoint (eg https://archive.org/bookreader/BookReaderJSLocate.php?id=theworksofplato01platiala&subPrefix=theworksofplato01platiala).
- Bring some IA-specific code into plugin.chapters.js
- Add more options that were previously missed (protected, olHost, subPrefix, bookPath, zip, imageFormat, bookId). These are mostly for plugins. If you intend on using any of the plugins, you can see the full config options there.
3.0.1
3.0.0 - Major Release
Version 3.0.0 is an effort to make BookReader more modular, extensible, and easier to use.
Changes include:
- Make BookReader easier to use, by adding
options
to the constructor, and adding newoptions.data
option. The old way of overriding properties should still work, but it is deprecated. Withoptions.data
, all BookReader needs is the image URLs and dimensions. To have dynamic image URLs (eg for scaling), omit the URL fromoptions.data
, and includeoptions.getPageURI
. - Factor out extra features into plugins. See
plugins
directory. Example plugins include:- plugins.chapters.js - render chapter markers
- plugins.search.js - add search ui, and callbacks
- plugins.tts.js - add tts (read aloud) ui, sound library, and callbacks
- plugins.url.js - automatically updates the browser url
- plugins.resume.js - uses cookies to remember the current page
- plugins.mobile_nav.js - adds responsive mobile nav to BookReader
Note that there is minor overhead added when loading multiple script tags. If this is a concern, a build step, can be used to concatenate the files into a single JS file.
- Clean up code: Remove a lot of commented-out code. Remove some unused methods.
- Change some, but not all, CSS ids to classes.
- DEPRECATED: Use options to configure BookReader. It is now deprecated to change properties directly.
- DEPRECATED: CSS ids are being removed, (eg #BookReader is now .BookReader), with the goal to entirely use classes instead. This is in progress, but it is considered deprecated to use the ids directly. We would like to remove all ids for the next major release.
- BREAKING: If features that are now in plugins were used, the plugin's JS file will need to be included as well. Note, we would also like to separate the CSS into a separate file for the next major release.