docs: add logo, README, architecture, deploy, wiki, analysis

This commit is contained in:
truetype committed 2026-07-22 15:50:35 +02:00
1 parent 32245f76ac
commit 15eb4016de
9 files changed
+561 -1

No files matched your search

+124
View File
@@ -0,0 +1,124 @@
# 📚 Bookish
**Convertitore e reader di ebook self-hostato** — Flask, Pandoc, WeasyPrint.
Carica un ebook in qualsiasi formato, convertilo in un altro, o leggilo direttamente nel browser con un reader completo.
---
## Funzionalità
### 🔄 Convertitore
| Formato | Input | Output |
|---------|-------|--------|
| EPUB | ✅ | ✅ |
| PDF | ✅ | ✅ |
| DOCX | ✅ | ✅ |
| Markdown | ✅ | ✅ |
| Testo (TXT) | ✅ | ✅ |
| HTML | ✅ | ✅ |
| FB2 | ✅ | ✅ |
| MOBI | ✅ | ❌ |
| LaTeX | ✅ | ✅ |
- Drag & drop upload
- Barra progresso in tempo reale (SSE)
- Download automatico del convertito
### 📖 Reader
- **EPUB** via [epub.js](https://github.com/futurepress/epub.js)
- **PDF** via [pdf.js](https://mozilla.github.io/pdf.js/)
- **Testo/Markdown/DOCX/FB2/HTML** convertiti e renderizzati
Caratteristiche reader:
- Zoom e regolazione font
- Temi: chiaro, scuro, seppia
- Ricerca full-text
- Indice navigabile
- Segnalibri e salvataggio posizione
- Vista singola/doppia pagina
- Navigazione tastiera
- Fullscreen
### ⚙️ Motore di conversione
- **Pandoc** come motore primario (decine di formati)
- **WeasyPrint** per PDF con layout avanzato
- **python-docx** per DOCX con stili
- **BeautifulSoup** per post-processing HTML/tabelle
---
## Requisiti
- Python 3.10+
- Pandoc (incluso via pypandoc-binary)
- Librerie di sistema per WeasyPrint (libpango, libcairo)
## Installazione
```bash
git clone http://192.168.0.183:8085/truetype/bookish.git
cd bookish
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
```
## Avvio
```bash
./run.sh
# oppure su porta specifica:
./run.sh 8080
```
L'app cerca automaticamente una porta libera a partire da quella specificata.
Apri il browser su `http://localhost:5000` (o la porta assegnata).
---
## Architettura
```
bookish/
├── app.py # Entry point
├── config.py # Configurazioni
├── requirements.txt
├── run.sh
├── bookish/
│ ├── __init__.py # Flask factory
│ ├── routes/
│ │ ├── convert.py # Upload, SSE progress, download
│ │ └── reader.py # Reader view
│ ├── services/
│ │ ├── converter.py # Conversione Pandoc + pipeline
│ │ ├── sse_manager.py # SSE progress manager
│ │ └── formatter.py # PDF/HTML post-processing
│ ├── templates/
│ │ ├── base.html # Layout base
│ │ ├── index.html # Convertitore
│ │ └── reader.html # Reader
│ └── static/
│ ├── css/style.css
│ ├── js/main.js # Frontend convertitore
│ ├── js/reader.js # Frontend reader
│ └── logo.svg
├── uploads/ # File caricati (temporanei)
├── converted/ # File convertiti (temporanei)
└── docs/ # Documentazione
```
Vedi [docs/architecture.md](docs/architecture.md) per dettagli.
---
## Deployment
Adatto per Proxmox LXC, Docker o VM leggera. Vedi [docs/deploy.md](docs/deploy.md).
---
## Licenza
MIT