Bookokrat
Bookokrat is a terminal-based EPUB reader with a split-view library and reader, full MathML and image rendering, automatic bookmarks, and inline annotations.
Demo
What You Can Do
- Browse every EPUB in the current directory, drill into the table of contents, and resume exactly where you left off.
- Search inside the current chapter or across the whole book, jump through a per-book history, and inspect reading statistics.
- Highlight text, attach comments, copy snippets or entire chapters, and toggle the raw HTML source for debugging.
- Open images in-place, follow internal anchors, launch external links in your browser, and hand off the book to your system viewer.
Keyboard Reference
Bookokrat follows Vim-style keybindings throughout the interface for consistent, efficient navigation.
Global Commands
q- Quit applicationTab- Switch focus between library/TOC and content panelsEsc- Clear selection/search or dismiss popups
Navigation (Vim-style)
j/k- Move down/up (works in all lists and reader)h/l- Collapse/expand in TOC; previous/next chapter in readerCtrl+d/Ctrl+u- Scroll half-page down/upgg- Jump to topG- Jump to bottomCtrl+o/Ctrl+i- Jump backward/forward in history
Search
/- Start search (filter in library/TOC; search in reader)n/N- Jump to next/previous matchSpace+f- Reopen last book-wide searchSpace+F- Start fresh book-wide search
Library & TOC Panel
Enter- Open highlighted book or headingh/l- Collapse/expand entryH/L- Collapse/expand all
Reader Panel
h/l- Previous/next chapterSpace+s- Toggle raw HTML viewSpace+c- Copy entire chapterSpace+z- Copy debug transcriptcorCtrl+C- Copy selectionp- Toggle profiler overlay
Comments & Annotations
a- Create or edit comment on selectiond- Delete comment under cursor
Popups & External Actions
Space+h- Toggle reading history popupSpace+d- Show book statistics popupSpace+o- Open current book in OS viewerEnter- Open image popup (when on image) or activate popup selection
Popup Navigation
All popups (search results, reading history, book stats) support:
j/k- Move up/downCtrl+d/Ctrl+u- Half-page scrollgg/G- Jump to top/bottomEnter- Activate selectionEsc- Close popup
Mouse Support
- Scroll with the wheel over either pane; Bookokrat batches rapid wheel events for smooth scrolling.
- Single-click focuses a pane; double-click in the library opens the selection; double-click in the reader selects a word; triple-click selects the paragraph.
- Click-and-drag to highlight text; release on a hyperlink to open it; drag past the viewport edges to auto-scroll.
- Click images to open the zoom popup; click again or press any key to close; clicking history or stats entries activates them immediately.
Quick Start
- Install Rust via https://rustup.rs if needed.
- Install using Cargo:
- Place EPUB files alongside the binary (or run within your library directory) and navigate with the shortcuts above.
Attribution
This project is based on bookrat by Dmitry Sobolev, licensed under the MIT License.