The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Quiq::Html::Verbatim - Verbatim-Block in HTML

BASE CLASS

Quiq::Hash

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

$e

Verbatim-Abschnitts-Objekt (Referenz)

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.178

AUTHOR

Frank Seitz, http://fseitz.de/

COPYRIGHT

Copyright (C) 2020 Frank Seitz

LICENSE

This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.