pdf2md/TODO.md
Dieter Schlüter 37ea397a29 TODO.md: Idee --split (Teile/Kapitel als Einzeldateien) und weitere Ideen
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 01:32:53 +02:00

63 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 `<name>/` 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.