fix: figure-umschlossene Tabellen (wp-block-table) gehen nicht mehr verloren#22
Merged
Conversation
…oren Der figure-Handler behandelte <figure> ausschließlich als Bild-Figur: Fand er ein <img>, rendete er nur dieses und brach mit return ab; fand er keins, verwarf er den Inhalt komplett. WordPress (und andere) verpacken jedoch auch Tabellen (figure.wp-block-table), Code (wp-block-code) und Listen in <figure>. Auf der Regel-Referenzseite (docs.greyhound-software.com/regelsystem/ referenz-regeln) steckt die gesamte Regeltabelle in genau einer figure.wp-block-table mit Icon-<img> je Zeile. Der Handler rendete nur das erste Icon und verwarf die komplette Tabelle → kein einziger Regelname in der Ausgabe. Fix: figure nur dann als Bild-Block rendern, wenn sie ein <img> enthält UND keinen Block-Inhalt (table/pre/blockquote/ul/ol/iframe). Andernfalls als Container rekursiv verarbeiten – dann greift u. a. der bestehende Tabellen-Handler. Verifiziert gegen die echte Seite: alle 41 Regeln werden jetzt extrahiert (Ausgabe ~1238 → ~7043 Zeichen, 42 Überschriften). Regressionsfälle für echte Bild-Figur (Bild-Block + Caption) sowie Tabellen-Figur ohne/mit img bestehen. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Auf
https://docs.greyhound-software.com/regelsystem/referenz-regelnwurden keine Regelnamen erkannt – die Markdown-Ausgabe enthielt keinen einzigen Regelnamen.Ursache
Die Seite hat ein
<main>(Container-Auswahl ok). Die komplette Regeltabelle (41 Zeilen, ein Icon-<img>je Zeile) steckt aber in genau einer<figure class="wp-block-table">– ein WordPress-Block-Muster.Der
figure-Handler behandelte<figure>ausschließlich als Bild-Figur:Es wurde also nur das erste Icon gerendert, die gesamte Tabelle mit allen Regelnamen verworfen.
Fix
<figure>nur dann als Bild-Block rendern, wenn sie ein<img>enthält und keinen Block-Inhalt (table/pre/blockquote/ul/ol/iframe). Andernfalls als Container rekursiv verarbeiten – dann greift u. a. der bestehende Tabellen-Handler.Verifikation
<img>-> Zellen erhalten; Tabellen-Figur mit Icon-<img>-> Regelnamen erhalten.py -m py_compileok.Basiert auf v1.0.17 (inkl. des gemergten Content-Container-Fixes #21).
🤖 Generated with Claude Code