<p align="center">
  <a href="https://github.com/kruseio/hygg" target="_blank">
    <img width="300" src="https://raw.githubusercontent.com/kruseio/hygg/main/assets/logo/logo.svg">
  </a>
</p>

# hygg
📚 Simplifying the way you read.
<br>
Minimalistic Vim-like TUI document reader.

<br>
<br>

<p align="center">
  <img src="https://raw.githubusercontent.com/kruseio/hygg/main/assets/demo-1.gif" alt="animated" />
</p>

<br>

## 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
- [ ] Self hosted sync server for docs, progress, bookmarks, highlights and notes
- [ ] Offline PWA web client
- [ ] Start screen to show overview of books and progress
- [ ] Minimal build feature flag, for only basic converters, no server integration and no ai
- [ ] Natural sounding ai voice model for text to speech narration
- [ ] Run all inference directly in rust no external runtime deps
- [ ] Support more ebook and document formats
- [ ] AI-powered document summarization
- [ ] Reading statistics and insights

## 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

<a href="https://www.star-history.com/#kruseio/hygg&Date">
 <picture>
   <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=kruseio/hygg&type=Date&theme=dark" />
   <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=kruseio/hygg&type=Date" />
   <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=kruseio/hygg&type=Date" />
 </picture>
</a>

## Contributors
<a href="https://github.com/kruseio/hygg/graphs/contributors">
  <img src="https://contrib.rocks/image?repo=kruseio/hygg" />
</a>

Made with [contrib.rocks](https://contrib.rocks).
