A mobile-first, searchable catalog of your Calibre ebook library. Exports your library to a static site you can check from your phone.
- Python 3
- Calibre installed (provides the
calibredbCLI) - Optional: Node.js (for PageCrypt password protection)
Edit export.py and set CALIBRE_LIBRARY_PATH to your Calibre library location:
# ============================================================
# CONFIGURE THIS: path to your Calibre library
# ============================================================
CALIBRE_LIBRARY_PATH = "/path/to/your/Calibre Library"The default macOS path is ~/Calibre Library.
PAGECRYPT_PASSWORD=yourpassword python3 export.pyThis generates docs/index.html, encrypts it with PageCrypt, and pushes to
your remote. The script requires PAGECRYPT_PASSWORD to be set to prevent
accidentally pushing unencrypted data.
Push to GitHub and enable GitHub Pages from the docs/ folder in repo settings.
To see the site without Calibre installed:
python3 -c "
from pathlib import Path
t = Path('template.html').read_text()
d = Path('sample_books.json').read_text()
Path('docs').mkdir(exist_ok=True)
Path('docs/index.html').write_text(t.replace('__BOOKS_DATA__', d))
"
open docs/index.htmlRun python3 export.py whenever you add new books. The script commits and
pushes automatically. Or set up a launch agent to run it on a schedule — see
launchd.example.plist.