Commit graph epub2md/tests/test_styles.py
Author SHA1 Message Date
5cef9d7885 feat: Farben, Schriften, Größen und Sprache per --styles (P3, P7)
--styles semantic (Standard): Hintergrundmarkierung wird zu <mark>, sonst
nur bedeutungstragende Gestaltung.
--styles html: Farbe, Hintergrund, Schriftgröße/-art, Kapitälchen und
Ausrichtung bleiben als <span style>/<div style> erhalten,
fremdsprachige Passagen als <span lang>. Übernommen wird nur, was vom
Grundstil abweicht (häufigste Werte aller Absätze, Schriftgröße ab ±15 %);
Formel- und Bildabsätze bekommen keine Ausrichtung; unsichere Werte werden
verworfen. Gilt im Fließtext, für Absätze und in HTML-Tabellen.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 05:04:35 +02:00
4992672ca6 feat: Infokästen als Callouts (P2)
Kästen werden erkannt über aside/epub:type, Klassennamen (box, kasten, tipp,
hinweis, warnung, wichtig, exkurs …) oder einen CSS-Rahmen/-Hintergrund um
kurzen Fließtext. Folgen von Tipp-Absätzen werden gruppiert. Ausgabe:
'> [!TIP]' mit fettem Titel (GitHub-Alert/Obsidian-Callout). Der Typ kommt
aus Klasse, Titel oder erstem Wort; dekorative Symbolbilder entfallen;
umrahmte Codelistings bleiben Code. Option --boxes callout|quote|html|plain.
Beispielbücher: Python-Buch 72, C-Buch 83, Bildband 32 Tipps, Mathebuch 11
MATLAB-Minuten; Code-Treue und Links unverändert.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 05:00:25 +02:00
9b0f060af2 feat: Szenenwechsel und Gedichte übernehmen (P4)
- Ein leerer Absatz (nur Leerzeichen/br) zwischen zwei Textabsätzen wird
  zu '* * *'; mehrere ergeben einen Wechsel.
- Ornament-Absätze (***, ⁂ …) werden ebenfalls zu '* * *'.
- Leere divs (z. B. Springer ClearBoth) und reine Ankerabsätze zählen nicht.
- Gedichte (poem/verse/gedicht, z3998:poem) werden zum Zitatblock mit einer
  Zeile pro Vers und Leerzeile zwischen Strophen.
Roman: 239 Szenenwechsel und 2 Gedichte (vorher verloren bzw. als lose
Absätze); die Sachbücher sind praktisch unverändert. Bericht: layout.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 04:57:03 +02:00
5f7c352df1 feat: Hervorhebungen aus dem CSS des Buches übernehmen (P1)
Neues Modul epub2md/css.py: Es wertet die Stylesheets des Buches aus
(Typ-, Klassen- und ID-Selektoren, Nachfahre/Kind, Spezifität,
style-Attribute; @media und Pseudoklassen werden ignoriert). Daraus werden:
- fett/kursiv → **/*, unterstrichen → <u>, durchgestrichen → ~~,
  vertical-align super/sub → <sup>/<sub>
- Monospace-Einzelwörter → Inline-Code
- display:none → Element entfällt
Das gilt im Fließtext, für ganze Absätze und in HTML-Tabellen (dort als
HTML-Tags). Direkt aneinanderstoßende gleiche Hervorhebungen werden
zusammengefasst ('*x**y*' brach Markdown; Mathebuch: 305 → 249 Stellen).
Beispiele: C-Buch 799× kursiv und 648× fett, die vorher verloren gingen.
Abschaltbar mit --no-css-emphasis.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 04:52:36 +02:00
a54fdda2fa feat: unsichtbare Zeichen im Fließtext entfernen (P6)
Nullbreiten-Zeichen (U+200B–U+200D, U+2060, U+FEFF) und weiche
Trennstriche (U+00AD) werden aus Fließtext, Alternativtexten und
Kapiteltiteln entfernt; Code bleibt unverändert. Im Mathebuch sind das
198 Zeichen (z. B. '1.​1'). Abschaltbar mit --keep-invisible-chars; die
Anzahl steht im Bericht unter text_cleanup.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 02:15:35 +02:00