{"id":33049373,"url":"https://github.com/bugzmanov/bookokrat","last_synced_at":"2026-04-02T21:28:21.446Z","repository":{"id":321294677,"uuid":"1085269531","full_name":"bugzmanov/bookokrat","owner":"bugzmanov","description":"A terminal EPUB / PDF Book Reader","archived":false,"fork":false,"pushed_at":"2026-03-28T12:39:44.000Z","size":46596,"stargazers_count":741,"open_issues_count":34,"forks_count":30,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-03-28T15:59:22.753Z","etag":null,"topics":["djvu","epub","epub-reader","pdf","rust","tui","tui-rs"],"latest_commit_sha":null,"homepage":"https://bugzmanov.github.io/bookokrat/index.html","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bugzmanov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-28T20:09:03.000Z","updated_at":"2026-03-28T12:39:48.000Z","dependencies_parsed_at":"2025-10-28T23:13:28.141Z","dependency_job_id":"18895945-99fe-4061-a592-d74fea3ce37b","html_url":"https://github.com/bugzmanov/bookokrat","commit_stats":null,"previous_names":["bugzmanov/bookokrat"],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/bugzmanov/bookokrat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bugzmanov%2Fbookokrat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bugzmanov%2Fbookokrat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bugzmanov%2Fbookokrat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bugzmanov%2Fbookokrat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bugzmanov","download_url":"https://codeload.github.com/bugzmanov/bookokrat/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bugzmanov%2Fbookokrat/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31278187,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T06:57:45.811Z","status":"ssl_error","status_checked_at":"2026-04-01T06:57:42.389Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["djvu","epub","epub-reader","pdf","rust","tui","tui-rs"],"created_at":"2025-11-14T02:00:29.867Z","updated_at":"2026-04-02T21:28:21.439Z","avatar_url":"https://github.com/bugzmanov.png","language":"Rust","funding_links":[],"categories":["Rust","💻 Apps","Table of Contents"],"sub_categories":["🎼 Music and Media"],"readme":"# Bookokrat\n\nTerminal EPUB/PDF/DJVU reader focused on speed, smooth navigation, and Vim-style workflows.\n\nhttps://github.com/user-attachments/assets/0ebe61c6-4629-4bde-8bd4-50feb9a424a3\n\n## Highlights\n\n- EPUB, PDF, and DJVU support in one TUI app\n- Split layout: library/TOC on the left, reader on the right\n- Fast PDF/DJVU pipeline with Kitty SHM image transfer in supported terminals\n- Search, bookmarks, jump list history, reading stats\n- Inline comments/annotations with persistent storage and Markdown export\n- Image rendering, link handling, and external viewer handoff\n- Theme selection, adjustable margins, zen mode\n- Vim-style keybindings and normal mode\n\n## Install\n\n### Homebrew (macOS)\n\n```bash\nbrew install bookokrat\n```\n\n### Arch Linux (AUR)\n\nInstall from the [AUR](https://aur.archlinux.org/packages/bookokrat-bin):\n\n```bash\nyay -S bookokrat-bin\n# or\nparu -S bookokrat-bin\n```\n\n### Nix / NixOS (flakes)\n\n```bash\nnix run github:bugzmanov/bookokrat\n# or install into profile\nnix profile install github:bugzmanov/bookokrat\n```\n\n### Prebuilt Linux binaries\n\nDownload from [GitHub Releases](https://github.com/bugzmanov/bookokrat/releases).\n\n### Cargo (all platforms)\n\nBuild from source. Requires [Rust](https://rustup.rs) and a C compiler/linker.\n\n\u003cdetails\u003e\n\u003csummary\u003ePrerequisites (click to expand)\u003c/summary\u003e\n\n**Linux (Ubuntu/Debian):**\n```bash\nsudo apt update\nsudo apt install build-essential\n\n# For PDF / DJVU support:\nsudo apt install pkg-config libfontconfig1-dev clang libclang-dev\n```\n\n**Linux (Fedora/RHEL):**\n```bash\nsudo dnf install gcc make\n```\n\n**macOS:**\n```bash\nxcode-select --install\n```\n\n**Windows:**\nInstall [Visual Studio Build Tools](https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2022) with the \\\"Desktop development with C++\\\" workload.\n\n\u003e **Windows notes:**\n\u003e - PDF/DJVU might not work in Windows PowerShell.\n\u003e - For full Kitty graphics protocol support, consider using WSL with [Ghostty](https://ghostty.org/) or [Kitty](https://sw.kovidgoyal.net/kitty/).\n\u003e - If MuPDF fails to build, disable PDF/DJVU support: `cargo install bookokrat --no-default-features`\n\n\u003c/details\u003e\n\n```bash\ncargo install bookokrat\n```\n\nBuild without PDF / DJVU support:\n\n```bash\ncargo install bookokrat --no-default-features\n```\n\n## Quick Start\n\n```bash\nbookokrat\n```\n\nOptional direct open:\n\n```bash\nbookokrat path/to/book.epub\nbookokrat path/to/book.pdf\nbookokrat path/to/book.djvu\nbookokrat path/to/book.epub --zen-mode\n```\n\nPress `?` inside the app to open the built-in help.\n\n## Documentation\n\n- Full usage and keyboard reference: [`readme.txt`](readme.txt)\n\n## Terminal Notes\n\nPDF and DJVU viewing require a graphics-capable terminal.\n\n- Best experience: Kitty, Ghostty\n- Good: iTerm2, WezTerm, Warp, Konsole (with some limitations)\n- Terminals without graphics protocol support - EPUB support without images. PDFs and DJVUs are not supported\n\nFor protocol details and troubleshooting, see the in-app help (`?`) and [`readme.txt`](readme.txt).\n\n## Data Storage\n\nBookokrat stores state in XDG-compliant locations and keeps project directories clean.\n\n| Data | Location |\n|------|----------|\n| Bookmarks | `\u003cdata_dir\u003e/bookokrat/libraries/\u003clibrary\u003e/bookmarks.json` |\n| Comments | `\u003cdata_dir\u003e/bookokrat/libraries/\u003clibrary\u003e/comments/` |\n| Image cache | `\u003ccache_dir\u003e/bookokrat/libraries/\u003clibrary\u003e/temp_images/` |\n| Log file | `\u003cstate_dir\u003e/bookokrat/bookokrat.log` |\n| Settings | `~/.bookokrat_settings.yaml` |\n\nTypical `\u003cdata_dir\u003e` paths:\n\n- macOS: `~/Library/Application Support`\n- Linux: `~/.local/share`\n\n## Vendored Dependency Notice\n\n`tui-textarea` is vendored in `vendor/tui-textarea` because upstream is currently unmaintained and behind current `ratatui` compatibility. The vendored base comes from PR #118:\nhttps://github.com/rhysd/tui-textarea/pull/118/changes\n\n## Attribution\n\nBookokrat is based on [bookrat](https://github.com/dmitrysobolev/bookrat) by Dmitry Sobolev (MIT).\n\n## License\n\nGNU Affero General Public License v3.0 or later (AGPL-3.0-or-later).\nSee [`LICENSE`](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbugzmanov%2Fbookokrat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbugzmanov%2Fbookokrat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbugzmanov%2Fbookokrat/lists"}