tbook-0.1.0 is not a library.
tbook
A feature-rich Terminal User Interface (TUI) E-book Reader written in Rust. Read EPUB and PDF files with a premium experience, high-resolution image support, and keyboard-driven navigation.
✨ Features
- Format Support: EPUB and PDF.
- High-Res Images: Supports Kitty, Sixel, and iTerm2 graphics protocols.
- Reading Progress: Automatic saving and resuming.
- Library Management: SQLite-backed database with "Last Read" sorting.
- Visual Statistics: Track your daily reading habits with daily word count charts.
- Interactive Zoom: Adjust text width and margin with mouse or keyboard.
- Annotations: Highlight text and add notes.
- Local AI: (Coming Soon) Local research assistant via Ollama.
- Knowledge Sync: Export notes to Obsidian/Logseq with YAML frontmatter.
🚀 Installation
Linux (Recommended)
|
Using Cargo (Recommended)
Note: PDF support needs pdftotext and pdftoppm (poppler-utils). The Linux install script installs them automatically.
Using NPM
From Source
🎮 Controls
Global
?: Toggle Helpq: Back / Quit
Library View
j/k: Navigate BooksEnter: Open Selected Booki: View Reading Statisticsn: Scan filesystem for new booksS: Global search across library
Reader View
j/k: Scroll texth/l: Previous / Next Chapter+/-: Adjust Text Size (Zoom)a: Toggle Auto-scrolls: Enter Select ModeE: Export notes to Markdown
Select Mode
w/b: Move by wordv: Start visual selectiond: Dictionary lookup
🛠️ Requirements
- Rust/Cargo: To build and run.
- poppler-utils: Required for fast PDF text extraction (
pdftotext) and PDF rendering (pdftoppm). - Bundled binaries: Linux release bundles poppler tools; tbook will use bundled binaries if found next to the executable.
- Overrides: You can set
TBOOK_PDFTOTEXT/TBOOK_PDFTOPPMto custom paths. - Modern Terminal: Kitty, WezTerm, Ghostty, or iTerm2 for high-quality image support.
📄 License
MIT