From 37ea397a293a120202a791bc7d321036b6ec858a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dieter=20Schl=C3=BCter?= Date: Fri, 2 Oct 2026 01:32:53 +0200 Subject: [PATCH] TODO.md: Idee --split (Teile/Kapitel als Einzeldateien) und weitere Ideen Co-Authored-By: Claude Opus 5.5 --- TODO.md | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 TODO.md diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..f3c396a --- /dev/null +++ b/TODO.md @@ -0,0 +1,63 @@ +# TODO + +## 1. Teile und Kapitel als separate Markdown-Dateien (`--split`) + +**Ziel:** Beim Konvertieren PDF → Markdown jeden Teil bzw. jedes Kapitel als eigene MD-Datei +speichern. Damit lassen sich: + +- Teile/Kapitel einzeln ändern, +- Teile/Kapitel vertauschen oder umsortieren, +- die MD-Dateien für RAG verarbeiten (ein Kapitel = ein Dokument), +- daraus HTML-Dateien oder andere Formate erzeugen. + +**Skizze:** + +- Option `--split teile|kapitel`; Ausgabe als Ordner `/` statt einer einzelnen `.md`. +- Dateinamen mit Nummer und Titel, z. B. + ``` + band1/ + index.md # Reihenfolge der Dateien (bzw. book.yaml) + 00_vorspann.md # Titelei, Inhaltsverzeichnis, Vorwort + 01_teil-i_das-vermaechtnis.md + 02_kapitel-01_der-notar.md + … + 99_nachspann.md # Der Autor, Impressum + images/ + ``` +- YAML-Frontmatter pro Datei (für RAG und Umsortieren): + ```yaml + --- + title: "1 Der Notar" + part: "Teil I: Das Vermächtnis" + chapter: 1 + source_pages: [12, 25] + book: "Operation Ljutsch" + author: "Reinhard Otto Kranz" + --- + ``` +- EPUB aus den Einzeldateien: pandoc nimmt mehrere Eingabedateien in der Reihenfolge von + `index.md`; Umsortieren = Reihenfolge im Index ändern. + +**Ansatzpunkte im Code (`pdf2md_v5.py`):** + +- Schnitt **nach** `normalize_markdown()` an den Überschriften `##` (Teil) und `###` (Kapitel); + die Ebenen kommen aus `load_outline()`. +- Bildpfade pro Datei anpassen (`make_image_links_relative()`). +- Vorspann (alles vor dem ersten Teil/Kapitel) und Nachspann als eigene Dateien. + +**Offene Fragen:** + +- Ein Ordner pro Teil oder alles flach in einem Ordner? +- Seitenzahlen ins Frontmatter? (pymupdf4llm liefert sie mit `page_chunks=True`.) +- Bücher ohne PDF-Gliederung: auf die erkannten Überschriften zurückfallen? +- Umkehrweg „Einzeldateien → ein MD/EPUB“ als eigene Option oder eigenes Skript? + +**Tests:** Aufteilung des synthetischen Test-PDFs (Teil I, Kapitel 1–2) prüfen; Einzeldateien +wieder zusammengesetzt = Gesamt-Markdown. + +## 2. Weitere Ideen + +- `--from-md buch.md`: nur den EPUB-Schritt aus einem (von Hand bearbeiteten) Markdown + ausführen; Titel, Autor und Cover automatisch übernehmen. +- JPEG-Qualität einstellbar machen (z. B. `--jpeg-quality 85`), damit das EPUB noch kleiner wird. +- Remote für das Git-Repo einrichten (z. B. GitHub), damit die Commits gesichert sind.