# hygg
📚 Simplifying the way you read.
Minimalistic Vim-like TUI document reader.
## Why hygg?
- **Universal document support** - PDF, EPUB, DOCX, and many more formats via pandoc. PDF output can include inline truecolor image art, and scanned documents are supported with OCR
- **Lightning-fast keyboard based navigation** - Vim-inspired keybindings
- **Powerful search** - Find anything instantly, highlight important passages, add bookmarks
- **Never lose your place** - Automatic progress saving
- **Extensible workflows** - Execute commands directly from copied text
- **Respects your privacy** - Run locally without server, or selfhost the sync server
## Quick start guide
```sh
cargo install --locked hygg
hygg doc.pdf
```
For further install instructions read the [Getting started page](https://github.com/kruseio/hygg/blob/main/docs/pages/getting-started.md)
## Features
### Core Reading Experience
- **Minimalist interface** - Nothing between you and your content
- **Smart text justification** - Perfectly formatted for your terminal width
- **Inline PDF images** - Render embedded PDF raster images as colored terminal art alongside extracted text
- **Vim keybindings** - Navigate with the efficiency you already know
- **Visual selection** - Select, copy, highlight text
- **Bookmarks** - Set bookmark points and jump between them instantly
- **Persistent** - Progress and bookmarks persist
### Advanced Workflows
- **Command execution** - Run shell commands from copied text, also works for previous command output
- **Split view** - View command output alongside your document
- **Interactive tutorial** - Learn everything in under 5 minutes
- **Cross-platform** - Works on Linux, macOS, and Windows
## Roadmap
- [x] Plain text format support
- [x] PDF format support
- [x] Inline colored PDF image rendering
- [x] EPUB format support
- [x] Convert scanned documents and images to plain text with ocrmypdf
- [x] Auto saving progress
- [x] Integrated command line with vim like commands
- [x] Text selection and yanking
- [x] Execute commands from yanked text
- [x] Text highlighting
- [x] Bookmarks
- [x] Interactive tutorial
- [x] Self hosted sync server for docs, progress, bookmarks, highlights and notes
- [x] Offline PWA web client
- [x] Start screen to show overview of documents and progress
- [x] Natural sounding ai voice model for text to speech narration
- [ ] Reading statistics and insights
- [ ] Minimal build feature flag, for only basic converters, no server integration and no ai
- [ ] Run all inference directly in rust no external runtime deps
- [ ] Support more ebook and document formats
- [ ] AI-powered document summarization
## Documentation
Visit the [Documentation](https://github.com/kruseio/hygg/blob/main/docs/README.md)
## Community
**hygg** is built by readers, for readers. Join our growing community:
- [Report issues](https://github.com/kruseio/hygg/issues)
- [Request features](https://github.com/kruseio/hygg/issues)
- [Contribute code](https://github.com/kruseio/hygg/pulls)
## Star History
## Contributors
Made with [contrib.rocks](https://contrib.rocks).
## Licensing
hygg is a multi-license workspace — each crate declares its own license, and
there is no single project-wide license see [LICENSING.md](LICENSING.md).
Contributions are accepted under the project's [Contributor License
Agreement](CLA.md) (implicit on submission); see [CONTRIBUTING](CONTRIBUTING.md).