Bookokrat is a terminal-based EPUB reader with a split-view library and reader, full MathML and image rendering, automatic bookmarks, inline annotations, and customizable themes.
- 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.
- Customize with multiple color themes, adjustable margins, and zen mode; settings persist across sessions.
Bookokrat follows Vim-style keybindings throughout the interface for consistent, efficient navigation.
q- Quit applicationTab- Switch focus between library/TOC and content panelsEsc- Clear selection/search or dismiss popupsCtrl+z- Toggle zen mode (hide sidebar/status bar)?- Show help screenSpace+t- Open theme selector+/-- Increase/decrease content margins
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
/- 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
Enter- Open highlighted book or headingh/l- Collapse/expand entryH/L- Collapse/expand all
h/l- Previous/next chapterSpace+s- Toggle raw HTML viewSpace+c- Copy entire chapterSpace+z- Copy debug transcriptcorCtrl+C- Copy selectionp- Toggle profiler overlay
a- Create or edit comment on selectiond- Delete comment under cursor
Space+h- Toggle reading history popupSpace+d- Show book statistics popupSpace+a- Open comments/annotations viewerSpace+o- Open current book in OS viewerEnter- Open image popup (when on image) or activate popup selection
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
- 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.
Bookokrat requires a C compiler/linker to be installed on your system for building dependencies.
Linux (Ubuntu/Debian):
sudo apt update
sudo apt install build-essentialLinux (Fedora/RHEL):
sudo dnf install gcc makemacOS:
xcode-select --installWindows: Install Visual Studio Build Tools with the "Desktop development with C++" workload.
- Install Rust via https://rustup.rs if needed.
- Install bookokrat using Cargo:
cargo install bookokrat- Place EPUB files alongside the binary (or run within your library directory) and navigate with the shortcuts above.
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.
This project is based on bookrat by Dmitry Sobolev, licensed under the MIT License.
