web EPUB reader using EPUB.js, Bootstrap, and Calibre.

Andrew Dolgov 41e97ceb2c reenable subitem parsing for current chapter display 2 months ago
css 3797c984f0 tweak location position in toc modal a bit 3 months ago
db 05b286c2b5 add db/ 8 months ago
img 86d02c4cba update hires favicon 8 months ago
js c63095caf4 offline_get_all: do not redownload already cached books 3 months ago
lib 94f002e9cc update epub.js 3 months ago
sessions e12535e601 add .empty back 4 months ago
.gitignore e6db30b32f update .gitignore 4 months ago
COPYING 1acf84942d add COPYING 6 months ago
README.md ab478f01aa Update README.md 4 months ago
backend.php 55f2b0090a add basic favorites via a horrible hack 3 months ago
config.php-dist 6910104b15 update config-dist 4 months ago
db.php 70f38e9c4f db: allow absolute paths for scratch db 3 months ago
index.php 93d3d2bfa0 remove logout prompt on favs index 3 months ago
login.php 93c413fd87 fix class missing on login 4 months ago
logout.php 9f4927825b move to internal user management because it's impossible to implement 4 months ago
manifest.json f37c9975ee add hires favicon, add support for run-as-app on chrome 8 months ago
offline.html de556fc586 offline index: add tab for favs 3 months ago
read.html 41e97ceb2c reenable subitem parsing for current chapter display 2 months ago
schema.sql 55f2b0090a add basic favorites via a horrible hack 3 months ago
sessions.php f25abeb922 default to file-based session storage 4 months ago
useradm.php 33709de21e users: force lowercase; remove spaces 4 months ago
worker.js d7d4b51384 when force-updating cache reload client when work is done 3 months ago

README.md

The Epube

web EPUB reader using EPUB.js, Bootstrap, and Calibre.

  • responsive design
  • has transparent offline mode via service workers
  • can optionally store files locally for later reading
  • supports word definition lookups using dictd
  • supports Chrome homescreen "app mode"

Installation

  1. Initialize scratch.db

    sqlite3 db/scratch.db < schema.sql
  2. Ensure both scratch.db and its containing folder (i.e. db/) are writable by the application, normally this means chown-ing them as www-data or whatever user your httpd is running under.

    chown www-data db/ db/sratch.db
  3. Copy config.php-dist to config.php and edit path to Calibre, etc.

  4. Setup users via useradm.php (command line)

Upgrading

When upgrading from an older Git snapshot which used HTTP Authentication:

  1. Disable HTTP Authentication in httpd configuration
  2. Reopen browser to clear HTTP auth
  3. Add two new tables to scratch.db (epube_users & epube_sessions)
  4. Add users via useradm.php (use same names as http auth, all data will be kept)

Requirements

  • php-sqlite
  • Calibre books directory and metadata.db

Acknowledgements

  1. Hires favicon by Flaticon - https://www.shareicon.net/business-school-material-open-book-education-leisure-reader-reading-794233
  2. Normal favicon from Silk icon pack - http://www.famfamfam.com/lab/icons/silk/

License

GNU GPL version 3.