From 20494742a31827ddc90b34ec67a3269bf6bf8fea Mon Sep 17 00:00:00 2001 From: dschlueter Date: Tue, 6 Oct 2026 05:37:11 +0200 Subject: [PATCH] chore: Version 0.2.0 mit CHANGELOG.md Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 53 +++++++++++++++++++++++++++++++++++++++++++++ README.md | 2 +- epub2md/__init__.py | 2 +- 3 files changed, 55 insertions(+), 2 deletions(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..7b451cb --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,53 @@ +# Änderungsprotokoll + +Alle nennenswerten Änderungen an epub2md. Format nach [Keep a Changelog](https://keepachangelog.com/de/1.1.0/), +Versionsnummern nach [Semantic Versioning](https://semver.org/lang/de/). + +## [0.2.0] – 2026-10-06 + +Schwerpunkt: Typografie und Gestaltung des Buches im Markdown abbilden. + +### Neu + +- **Hervorhebungen aus dem CSS des Buches** (`epub2md/css.py`): fett, kursiv, unterstrichen, durchgestrichen, + hoch-/tiefgestellt und Festbreitenschrift werden auch übernommen, wenn der Verlag sie nur per Stylesheet + setzt. Per CSS ausgeblendete Elemente (`display:none`) entfallen. Abschaltbar mit `--no-css-emphasis`. +- **Infokästen** (Tipp, Hinweis, Warnung, Exkurs …) als GitHub-/Obsidian-Callouts `> [!TIP]`, wahlweise als + Zitatblock, HTML-`div` oder normaler Text: `--boxes {callout,quote,html,plain}`. +- **Pandoc-Filter** `pandoc/callouts.lua`: zeichnet die Kästen in HTML/EPUB als gerahmte Kästen, in + LaTeX/PDF, Word und ODT als Zitatblock mit Titel. Die Buch-README nennt ihn in den Pandoc-Befehlen. +- **Farben, Schriftarten, Schriftgrößen, Kapitälchen, Ausrichtung und Fremdsprache** als HTML-Stil: + `--styles html`. Standard `semantic` übernimmt nur Hintergrundmarkierungen (``). +- **Szenenwechsel** (Leerabsätze, Ornamente) als `* * *`, **Gedichte** als Zitatblock mit Zeilenumbrüchen. +- **Seitenzahlen der Druckausgabe** als `[S. 123]` oder ``: `--page-markers {none,visible,comment}`. +- **Unsichtbare Zeichen** (Nullbreiten-Leerzeichen, weiche Trennstriche) werden im Fließtext entfernt, im + Code nicht. Abschaltbar mit `--keep-invisible-chars`. +- Verzeichnisse (Quellen, Literatur, Register, Glossar) unterhalb von `--chapter-level` werden eigene Dateien. +- Bericht: neue Abschnitte `text_cleanup`, `css` und `layout`. + +### Geändert + +- Kastentitel ohne dekorative Symbole wie `[»]`. Der Kastentyp aus der Verlagsklasse hat Vorrang vor einem + Typwort im Titel. +- Zwischen Feld-Spans wird kein Leerzeichen mehr eingefügt, wenn einer davon per CSS ausgeblendet ist. + +### Dokumentation + +- Bedienungsanleitung: Umwandlung in andere Formate (HTML, PDF, EPUB, Word, Kindle), Infokästen, + Farben/Schriften, Seitenzahlen. + +## [0.1.0] – 2026-10-06 + +Erste Fassung. + +- `epub2md.py`: DRM-freie EPUB 2/3 → kapitelweises Markdown mit Medien, `metadata.yaml`, `manifest.json`, + `conversion-report.json` und Diagnose-Dateien; Code zeichengetreu, MathML → TeX, Fußnoten-Modi, + sichere ZIP-/XML-Verarbeitung. +- `epub2md_merge.py`: Gesamtdatei `.md` aus einem Ausgabeordner. +- Optionen `--code-language`, `--keep-wrap-markers`; Warnung `chapter-large`; Titel überschriftsloser Seiten + aus dem Inhalt. +- Alle Befunde der QA-Prüfungen (R1–R7, QA2-01 bis QA2-19) behoben oder abgemildert. +- README und Bedienungsanleitung. + +[0.2.0]: https://kitux.de/forgejo/dschlueter/epub2md/compare/v0.1.0...v0.2.0 +[0.1.0]: https://kitux.de/forgejo/dschlueter/epub2md/src/tag/v0.1.0 diff --git a/README.md b/README.md index 17374af..c8d420e 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ YAML-Metadaten, Inhaltsverzeichnis, maschinenlesbarem Manifest und einem Konvert Gedacht für die Weiterverarbeitung mit Markdown-Renderern, Pandoc, Obsidian/Zettelkasten, Git, RAG-/Embedding-Pipelines, Volltextsuche und lokale LLMs. -Eine Schritt-für-Schritt-Anleitung für Anwender steht in der [BEDIENUNGSANLEITUNG.md](BEDIENUNGSANLEITUNG.md). +Eine Schritt-für-Schritt-Anleitung für Anwender steht in der [BEDIENUNGSANLEITUNG.md](BEDIENUNGSANLEITUNG.md). Änderungen je Version: [CHANGELOG.md](CHANGELOG.md). Das Projekt enthält zwei Programme: diff --git a/epub2md/__init__.py b/epub2md/__init__.py index 9aada3e..6885324 100644 --- a/epub2md/__init__.py +++ b/epub2md/__init__.py @@ -1,4 +1,4 @@ """epub2md – konvertiert DRM-freie EPUB-Dateien in kapitelweise Markdown-Sammlungen.""" -__version__ = "0.1.0" +__version__ = "0.2.0" TOOL_NAME = "epub2md"