The epubreader application is based on the epub.js library and is a fork of the epub-reader repository.
Open up epubreader in a browser.
You can change the ePub it opens by passing a link to bookPath in the url:
?bookPath=https://s3.amazonaws.com/epubjs/books/alice.epub
or to open through path public/epub-book folder
?bookPath=epub-book/[filename].epub
Install node.js
Then install the project dependencies with npm
npm installNext you need to clone the repository into local with below command
git clone <repo_url>After that, you need to move to repo directory. You can run the reader locally with the command
cd <repo_directory>
npm startThe application automatically starts at localhost:8088.
Builds are concated and minified using webpack
To generate a new build run
npm run buildor rebuilding all *.js files
npm run prepareThe epubreader application settings is a JavaScript object that you pass an argument to the Reader constructor. You can make prelimitary settings in the file index.html. For example, this is what the default Reader initialization looks like:
<script type="module">
import { Reader } from "./js/epubreader.min.js"
const url = new URL(window.location)
const path = url.searchParams.get("bookPath") || "https://s3.amazonaws.com/moby-dick/"
window.onload = (e) => new Reader(path)
</script>Let's say we want to disable the openbook feature, which is designed to open an epub file on a personal computer. This can be useful for integrating a public library into your site. Let's do this:
<script type="module">
import { Reader } from "./js/epubreader.min.js"
const url = "{{bookPath}}"
window.onload = (e) => new Reader(url, { openbook: false })
</script>Note that the
{{bookPath}}replacement token is used to define theurlstring variable. This simple solution will allow you to set up a route to pass the target URL.
The epubreader application supports the following features:
- Initial support for mobile devices
- Saving settings in the browser’s local storage
- Opening a book file from the device’s file system
- Bookmarks
- Annotations
- Search by sections of the book
- Output epub metadata
- Keybindings
