Desktop-Tool zum Verwalten und Rendern von Quarto-Büchern mit Fokus auf Kapitelstruktur, Frontmatter-Konsistenz und schneller Export-Pipeline.
Aktuelle Version: v1.0.0
- Python 3.11+ (empfohlen: 3.14 wie im Projekt genutzt)
- Quarto CLI (für Rendern)
- Windows, macOS oder Linux (primär auf Windows genutzt/getestet)
Python-Pakete (siehe requirements.txt):
PyYAML>=6.0.1sv-ttk>=2.6.0
Die Buchprojekte müssen nicht mehr unter dem Code-Ordner liegen.
In studio_config.json kann über content_root_path der Such-Root für _quarto.yml-Projekte gesetzt werden:
"content_root_path": "."- Relativer Pfad: relativ zum Code-Ordner von Book Studio
- Absoluter Pfad: z. B.
D:/Buecher/Quarto - Bei ungültigem Pfad fällt die App automatisch auf den Code-Ordner zurück
Alternativ direkt in der GUI über:
Tools -> 🧩 Studio-Konfiguration...
Dort sind aktuell zentral konfigurierbar:
content_root_pathlog_font_sizeabort_on_first_preflight_error(Render-Vorabcheck: beim ersten Fehler stoppen)abort_on_first_render_colon_warning(Render-Log: bei erstem:::-Warnhinweis sofort stoppen)default_export_formatdefault_export_templatedefault_footnote_modelog_auto_clear_defaultlog_max_lines_default- Button
Auf Standard zurücksetzensetzt alle Dialogfelder auf die App-Defaults zurück
Beispiel für empfohlene Render-/Log-Defaults in studio_config.json:
{
"abort_on_first_preflight_error": true,
"abort_on_first_render_colon_warning": true,
"log_font_size": 12,
"log_auto_clear_default": false,
"log_max_lines_default": 500,
"default_export_format": "typst",
"default_export_template": "EXT: typstdoc",
"default_footnote_mode": "endnotes"
}git clone https://github.com/Heinz-Garcia/Book_Studio.git cd Book_Studio
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txtpython -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtpython book_studio.pyIn VS Code alternativ über Task:
🎨 4. Book Studio (Inhaltsverzeichnis GUI)
- Projekt/Band im oberen Dropdown auswählen.
- Kapitel links (verfügbar) nach rechts (Buchstruktur) verschieben.
- Struktur speichern (
Ctrl+Soder Menü „In Quarto speichern“). - Optional Sanitizer- und Doctor-Checks ausführen.
- Rendern über Menü „Export → Buch rendern...“ oder passende Task.
Hinweis zum Render-Vorabcheck:
- Mit
abort_on_first_preflight_error=truebricht der Render beim ersten Preflight-Fehler ab. - Fehlerzeilen im Log im Format
[pfad] Lxsind klickbar und öffnen direkt Datei + Zeile.
Ctrl+S– Struktur speichernF5– Rendern startenEnter– markierte Datei öffnen; bei☠-Fund direkt an die erste Problemstelle springenF4– nächster Buch-Doktor-Fund in der Buch-StrukturShift+F4– vorheriger Buch-Doktor-Fund in der Buch-Struktur- Doppelklick auf die horizontale Log-Trennleiste – Log-Höhe auf Standard zurücksetzen
👁️ 1. Watchdog starten (Struktur bewachen)– Architektur-/Struktur-Watchdog🩺 2. Buch-Doktor (Health Check)– Projektprüfung (Default Build Task)🖨️ 3. Aktuelles Buch rendern (Typst/PDF)– sicherer Render für das aktive Buch über temporäre Kopie (processed/END-xkompatibel)🎨 4. Book Studio (Inhaltsverzeichnis GUI)– GUI starten🧪 7. Smoke-Tests ausführen– Smoke inkl. GUI🧪 8. Smoke-Tests (ohne GUI)– schnelle CI-/Headless-Variante
python smoke_tests.py
python smoke_tests.py --guiErwartung: Smoke-Tests: 11/11 erfolgreich (mit --gui).
Hinweis: Die Smoke-Tests enthalten jetzt verpflichtend einen echten Quarto-Renderlauf (Band_Dummy als temporäre Kopie), damit die Buch-Generierung aktiv geprüft wird.
Für die kritischen Nicht-GUI-Pfade gibt es eine kleine Regression-Suite:
pytest -qAbgedeckt werden gezielt:
yaml_engine.py(Frontmatter-Healing, Kapitel-Roundtrip, required ordering)book_doctor.py(Mini-Projekt-Health-Checks)
- GUI startet nicht / Theme-Probleme: venv aktivieren und
pip install -r requirements.txterneut ausführen. - Rendern schlägt fehl: prüfen, ob
quartoim PATH verfügbar ist. - Keine Bücher im Dropdown: sicherstellen, dass in Unterordnern eine
_quarto.ymlliegt. - Sanitizer/Config-Warnungen:
studio_config.jsonundsanitizer_config.tomlprüfen.
Dieses Projekt ist unter der GNU General Public License v3 (GPL-3.0) lizenziert.
- Rechtssicherheit: Die Lizenz bietet einen umfassenden Haftungsausschluss. Die Software wird "wie besehen" bereitgestellt.
- Garantierte Offenheit: Die GPL v3 stellt sicher, dass der Code und alle daraus resultierenden Forks (Weiterentwicklungen durch Dritte) Open Source bleiben müssen.
- Gegenseitigkeit: Wenn jemand dieses Projekt forkt und verbessert, müssen diese Änderungen unter derselben Lizenz veröffentlicht werden. Dies garantiert, dass Sie von den Verbesserungen der Community profitieren und diese ebenfalls in Ihr Projekt integrieren können.
Details finden Sie in der beiliegenden Datei LICENSE.
