| Crates.io | duca |
| lib.rs | duca |
| version | 0.1.0 |
| created_at | 2025-08-22 07:43:25.512392+00 |
| updated_at | 2025-08-22 07:43:25.512392+00 |
| description | Search and read Dante's Divine Comedy from your terminal |
| homepage | https://github.com/thomaspmurphy/duca |
| repository | https://github.com/thomaspmurphy/duca |
| max_upload_size | |
| id | 1806022 |
| size | 2,439,413 |
A terminal application for reading and searching Dante's Divina Commedia, inspired by the kjv Bible reader. Built with Rust and featuring both CLI and TUI interfaces.
To build for development:
git clone <repository-url>
cd duca
cargo build --release
You can also install duca directly to your $PATH using Cargo:
cargo install --path .
duca parse
# Search across all canticas
duca search "selva"
# Search within specific cantica
duca search "selva" -c inferno
duca canto inferno 1
duca canto purgatorio 5
duca canto paradiso 33
duca tui
Browse Mode:
h/← l/→ - Switch between cantichej/↓ k/↑ - Navigate cantosJ K - Scroll verses up/down/ - Enter interactive search modeEnter - Select cantoq - QuitInteractive Search Mode:
j/k or ↑/↓ - Navigate search resultsEnter - View result in contextEsc - Return to browse modeContext View Mode:
J/K - Scroll through the cantoEsc - Return to search resultsThe application uses the complete Italian text of Dante's Divine Comedy from Project Gutenberg:
inferno.txt)purgatorio.txt)paradiso.txt)Total: 100 cantos (34 Inferno + 33 Purgatorio + 33 Paradiso)
src/main.rs - Main application logic, CLI interface, and text parsersrc/tui.rs - Interactive terminal UI with fuzzy search and context viewinginferno.txt - Inferno text (Project Gutenberg eBook #997)purgatorio.txt - Purgatorio text (Project Gutenberg eBook #998)paradiso.txt - Paradiso text (Project Gutenberg eBook #999)commedia.json - Parsed and structured text data (generated from all three files)# Find all mentions of "amore" across all canticas (59 matches found)
duca search "amore"
# Find "stelle" only in Paradiso (9 matches found)
duca search "stelle" -c paradiso
# Read the famous opening of Inferno
duca canto inferno 1
# Read the beginning of Purgatorio
duca canto purgatorio 1
# Read the final prayer to the Virgin (Paradiso's ending)
duca canto paradiso 33
# Interactive browsing with fzf-like search
duca tui
# Press / to enter search mode
# Type "amore" and see results filter in real-time
# Press Enter on a result to see it highlighted in context