NAME
Quiq::Html::Verbatim - Verbatim-Block in HTML
BASE CLASS
DESCRIPTION
Ein Objekt der Klasse repräsentiert einen Verbatim-Block in HTML. Ein Verbatim-Block gibt einen Text TEXT in Festbreitenschrift mit allen Leerzeichen und Zeilenumbrüchen identisch wieder. Innerhalb von TEXT ist HTML erlaubt. Der Verbatim-Block kann mit Zeilennummern ausgestattet werden. In dem Fall wird das HTML-Konstrukt um eine <table> ergänzt und dadurch komplexer.
Aufbau eines Verbatim-Blocks ohne Zeilennummern:
<div class="CLASS" [id="ID"] [style="STYLE"]>
<pre>TEXT</pre>
</div>
Aufbau eines Verbatim-Blocks mit Zeilennummern:
<div class="CLASS" [id="ID"] [style="STYLE"]>
<table>
<tr>
<td class="ln">
<pre>ZEILENNUMMERN</pre>
</td>
<td class="margin"></td>
<td class="text">
<pre>TEXT</pre>
</td>
</tr>
</table>
</div>
Die in eckige Klammern eingefassten Bestandteile ([...]) sind optional.
Das umgebende div
klammert das gesamte Konstrukt und ermöglicht auch im Falle von Zeilennummer, dass der Hintergrund des Blocks über die gesamte Breite der Seite farbig hinterlegt werden kann.
Das Aussehen des Verbatim-Block kann via CSS gestaltet werden. Hier die Selektoren, mit denen einzelne Bestandteile des Konstrukts in CSS angesprochen werden können:
- .CLASS
-
Der gesamte Block.
- .CLASS > pre
-
Der Verbatim-Text im Falle einer Darstellung ohne Zeilennummern.
- .CLASS table
-
Die Tabelle im Falle von Zeilennummern.
- .CLASS .ln
-
Die Zeilennummern-Spalte.
- .CLASS .margin
-
Die Trenn-Spalte zwischen Zeilennummer- und Text-Spalte.
- .CLASS .text
-
Die Text-Spalte.
Hierbei ist CLASS der über das Attribut class
änderbare CSS-Klassenname. Default-Klassenname ist 'verbatim'.
ATTRIBUTES
- class => $name (Default: 'verbatim')
-
CSS-Klasse des Verbatim-Blocks.
- id => $id
-
Die CSS-Id des Verbatim-Blocks.
- ln => $n (Default: 0)
-
Wenn ungleich 0, wird jeder Zeile eine Zeilennummer vorangestellt, beginnend Zeilennummer $n.
- style => $style
-
CSS-Properties des Verbatim-Blocks (<div>).
- text => $text
-
Der dargestellte Text. Ist $text leer (
undef
oder Leerstring), wird kein Verbatim-Block erzeugt, d.h. die Methode $obj->html() liefert einen Leerstring.
METHODS
Konstruktor
new() - Instantiiere Verbatim-Block-Objekt
Synopsis
$e = $class->new(@keyVal);
Arguments
- @keyVal
-
Liste von Attribut/Wert-Paaren. Die Werte werden auf dem Objekt gesetzt. Siehe Abschnitt ATTRIBUTES.
Returns
Description
Instantiiere ein Verbatim-Block-Objekt und liefere eine Referenz auf dieses Objekt zurück.
Objektmethoden
html() - Generiere HTML-Code
Synopsis
$html = $e->html($h);
$html = $class->html($h,@keyVal);
Arguments
- $h
-
Objekt für die HTML-Generierung, d.h. eine Instanz der Klasse Quiq::Html::Tag.
- @keyVal
-
Siehe Konstruktor.
Returns
HTML-Code (String)
Description
Generiere den HTML-Code des Verbatim-Blocks und liefere diesen zurück. Als Klassenmethode gerufen, wird das Objekt intern mit den Attributen @keyVal instantiiert.
VERSION
1.132
AUTHOR
Frank Seitz, http://fseitz.de/
COPYRIGHT
Copyright (C) 2019 Frank Seitz
LICENSE
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.