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.
Installation
Prerequisites
Bookokrat requires a C compiler/linker to be installed on your system for building dependencies.
Linux (Ubuntu/Debian):
Linux (Fedora/RHEL):
macOS:
Windows: Install Visual Studio Build Tools with the "Desktop development with C++" workload.
Install Bookokrat
- Install Rust via https://rustup.rs if needed.
- Install bookokrat using Cargo:
- Place EPUB files alongside the binary (or run within your library directory) and navigate with the shortcuts above.
Troubleshooting
Error: "linker 'cc' not found"
This means you don't have a C compiler installed. Install the build tools for your platform (see Prerequisites above), then try again.
Attribution
This project is based on bookrat by Dmitry Sobolev, licensed under the MIT License.