TYPO3 Ext: sk_codebox in validem XHTML 1.1

Die TYPO3 Extension sk_codebox Version 2.0.1 (wie hier im Blog für Code-Schnipsel genutzt) ist standardmäßig leider nicht XHTML 1.1 valide sobald man die Zeilennummern der Extension einblendet.

Für Webdesigner, welche XHTML 1.1 validen Code erhalten möchten gibt es nur zwei Möglichkeiten: Entweder wird das Problem mit der Extension und dem Validierungsfehler behoben oder die Extension muss weichen.

Da wir diese Extension soweit ganz gut finden, haben wir uns natürlich mit der ersten Möglichkeit – das Problem wird behoben – beschäftigt. Folgende Änderungen müsst ihr in der geshi.php durchführen (Ordner: typo3conf/ext/sk_codebox/) damit ihr validen Code erhaltet.

Achtung: Wir haften nicht für entstande Fehler / Unstimmigkeiten. Diese Anleitung ist auf eigene Gefahr zu nutzen.

So sieht die validierung bei XHTML 1.1 (mit eingeblendeten Zeilennummern) des Originalcodes der geshi.php aus.

Die erste Änderung befindet sich in Zeile 2332 (geshi.php). Dort müsst ihr den folgenden, Original HTML/PHP-Code ersetzen.

In XHTML 1.1 haben <ol>-Elemente nichts in einem <pre>-Tag verloren.

// Original
return "<pre$attributes>$header<ol$ol_attributes>"; 

// Valid
return "<div>$header<div><ol$ol_attributes>";

Die zweite Änderung befindet sich in Zeile 2393 (geshi.php). Ebenfalls einfach den Originalcode ersetzen.

// Original
return "</ol>$footer_content</pre>"; 

// Valid
return "</ol></div>$footer_content</div>";

Da alle guten Dinge drei sind, hier die letzte Änderung: Zeile 2393 (geshi.php).

// Original
$parsed_code .= "<li$attr>$start$line$end</li>$ls"; 

// Valid
$parsed_code .= "<li$attr>$start<pre style='margin-bottom:0px;margin-top:0px;'>$line</pre>$end</li>$ls";

Und so sieht die validierung bei XHTML 1.1 (mit eingeblendeten Zeilennummern) des neuen Codes der geshi.php aus.

Wer jetzt bestimmte Zeilen nicht finden konnte, hier gibt es die valide geshi.php sowie die Original geshi.php aus der TYPO3 Extension sk_codebox Version 2.0.1.

Ich hoffe es hat alles geklappt und bis zum nächsten Mal.

Bewerte diese Seite

 
 
 
 
 
 
 
Bewerten
 
 
 
 
 
 
0 Bewertungen
0 %
1
5
0
 

Veröffentlicht von

Kevin Lieser

Kevin Lieser

Kevin Lieser ist ausgebildeter Mediendesigner und seit 2008 mit der TYPO3 Agentur KA Mediendesign unternehmerisch tätig. Seine Leidenschaften sind gutes Webdesign und die PHP Programmierung. Als App Entwickler und Autor mehrerer TYPO3 Extensions engagiert er sich aktiv für die Weiterentwicklung von Webapplikationen und mobilen Anwendungen.