diora-web/tui/README.md
marwin f63bd1f879 TUI: lokaler EPUB-Reader als erste Stufe eines diora-TUI-Clients
Python + Textual, unter tui/. Liest EPUBs aus einem Bibliotheksordner,
zeigt Kapitel als Fließtext, j/k/Pfeiltasten zum Scrollen, n/p für
Kapitelwechsel. Fortschritt wird lokal (progress.json via platformdirs)
nach demselben "furthest wins"-Prinzip wie diora's Web-Reader gespeichert,
damit ein Sync-Layer gegen die künftige diora-API später ohne Rewrite
andocken kann. Vorerst rein lokal, kein Server-Kontakt, keine
Verschlüsselung.
2026-08-15 16:04:18 +02:00

40 lines
1.5 KiB
Markdown

# diora-tui
Lokaler EPUB-Reader im Terminal — die erste Stufe einer TUI-Version von diora.
Läuft komplett offline gegen eine lokale Bibliothek aus `.epub`-Dateien und merkt sich
den Lesefortschritt pro Buch (`progress.json` im plattformüblichen Datenverzeichnis,
z.B. `~/.local/share/diora-tui/` unter Linux, via `platformdirs`). Der Fortschritt wird
— genau wie im Web-Reader von diora (siehe `books/models.py`, `save_progress`) — nur
vorwärts überschrieben ("furthest wins"), damit ein älterer/gestaffelter Lauf nie eine
bereits weiter gelesene Position zurücksetzt.
Sobald die diora-Sync-API für E-Book-Fortschritt steht, bekommt dieses Tool einen
Sync-Layer, der `progress.json` gegen den Server abgleicht. Bis dahin ist alles rein
lokal — keine Verschlüsselung, kein Server-Kontakt, keine Kenntnis von diora-Accounts.
## Setup
```bash
cd tui
pip install -e .
```
## Nutzung
```bash
diora-tui --library ~/Books # Standard: ~/Books
```
Tastenkürzel:
- `↑`/`k`, `↓`/`j` — zeilenweise scrollen
- `n` / `]` — nächstes Kapitel, `p` / `[` — vorheriges Kapitel
- `Enter` — markiertes Buch aus der Bibliothek öffnen
- `Escape` / `q` — zurück zur Bibliothek (im Reader) bzw. beenden (in der Bibliothek)
## Grenzen der aktuellen Version
- Nur EPUB, kein PDF (diora selbst unterstützt beides).
- Text wird pro Kapitel als Fließtext ohne Bild-/Layout-Rendering dargestellt.
- Fortschritt ist rein lokal; es gibt noch keinen Login/Sync gegen eine diora-Instanz.