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

Andrew Dolgov 642bede5b6 exp: enable transitions after a delay 8 minutes ago
css de703d45c1 switch to a different library for swipe events 1 hour ago
db 05b286c2b5 add db/ 1 year ago
img 86d02c4cba update hires favicon 11 months ago
js 77a76bda37 disable swipes (unreliable, sometimes cause huge delays on epub chapter 16 minutes ago
lib 77a76bda37 disable swipes (unreliable, sometimes cause huge delays on epub chapter 16 minutes ago
sessions e12535e601 add .empty back 7 months ago
themes cf4f0ca070 update plan9 theme 2 weeks ago
.gitignore e6db30b32f update .gitignore 7 months ago
COPYING 1acf84942d add COPYING 10 months ago
README.md 1014981854 readme: fix typo 2 weeks ago
backend.php dfee22901d * use PDO::sqlite 3 months ago
config.php-dist dfee22901d * use PDO::sqlite 3 months ago
db.php dfee22901d * use PDO::sqlite 3 months ago
index.php 563c729643 add some polyfills for garbage browsers 3 months ago
login.php dfee22901d * use PDO::sqlite 3 months ago
logout.php 9f4927825b move to internal user management because it's impossible to implement 7 months ago
manifest.json f37c9975ee add hires favicon, add support for run-as-app on chrome 1 year ago
offline.html de556fc586 offline index: add tab for favs 7 months ago
read.html 642bede5b6 exp: enable transitions after a delay 8 minutes ago
schema.sql 55f2b0090a add basic favorites via a horrible hack 7 months ago
sessions.php dfee22901d * use PDO::sqlite 3 months ago
useradm.php 426de34905 minor useradm improvements 3 months ago
worker.js 77a76bda37 disable swipes (unreliable, sometimes cause huge delays on epub chapter 16 minutes 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"
  • has several color themes

Screenshots

  1. https://tt-rss.org/images/epube/screen1.png (desktop)
  2. https://tt-rss.org/images/epube/screen2.png (mobile)
  3. https://tt-rss.org/images/epube/screen3.png (settings)

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/scratch.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

  • PDO::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.