--split, --from-md, --jpeg-quality, YAML-Kopf, --title/--author

- --split teile|kapitel: Einzeldateien in einem Ordner mit index.md
  (Reihenfolge) und images/; Titelei und Inhaltsverzeichnis als Vorspann;
  YAML-Kopf je Datei (title, part, chapter, order, book, author)
- --from-md DATEI|ORDNER: EPUB aus bearbeitetem Markdown bzw. Split-Ordner,
  Angaben aus dem YAML-Kopf; ersetzt den pandoc-Befehl aus Weg B
- Markdown beginnt mit YAML-Kopf (title, author, lang, cover); Cover wird
  mit --images immer abgelegt
- --jpeg-quality (Standard 85 statt fest 95): EPUB Band 1 3 MB statt 5 MB
- --title/--author überschreiben PDF-Metadaten
- Tests (tests/test_split.py), README, Bedienungsanleitung (Weg C),
  CLAUDE.md, TODO.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Dieter Schlüter 2026-10-02 18:04:57 +02:00
commit d52ac597fc

View file

@ -9,6 +9,7 @@ import zipfile
import pytest
from conftest import ROOT, TITLE, needs_pandoc, needs_tesseract
from pdf2md import split_frontmatter
SCRIPT = ROOT / "pdf2md.py"
@ -49,7 +50,9 @@ def test_digital_structure(digital_md):
assert "Dort sprach er lange mit dem Geheimdienst über die Lage" in digital_md
# keine Seitenzahlen, keine Kolumnentitel außer der Titelüberschrift
assert not re.search(r"^\d+$", digital_md, re.MULTILINE)
assert digital_md.count(TITLE) == 1
meta, body = split_frontmatter(digital_md)
assert meta["title"] == TITLE and meta["lang"] == "de"
assert body.count(TITLE) == 1
@needs_tesseract