NAME
Quiq::Html::Listing - Programm-Listing in HTML
BASE CLASS
SYNOPSIS
use
Quiq::Html::Listing;
my
$h
= Quiq::Html::Tag->new;
my
$obj
= Quiq::Html::Listing->new(
language
=>
'Perl'
,
lineNumbers
=> 1,
colNumbers
=> 79,
source
=>
$file
,
);
my
$html
=
$obj
->html(
$h
);
ATTRIBUTES
- anchor => 'doc'|'method'|undef (Default: 'doc')
-
Setze Methodenanker an den Anfang der eingebetteten Dokumentation zur Methode (im Fall von Perl der POD-Dokumentation) oder an den Anfang der Methode selbst. Im Falle von
undef
wird kein Anker gesetzt. - colNumbers => $n (Default: 0)
-
Setze eine Zeile mit Kolumnennummern. Die Mindest-Zeilenlänge ist $n (z.B. 79). Bei colNumbers=>0 werden keine Kolumnennummern gesetzt.
- escape => $bool (Default: 1)
-
Schütze &, >, < in den Daten durch HTML-Entities. Wenn die Daten bereits geschützt sind, kann dies mit escape=>0 abgeschaltet werden. In dem Fall sind die ermittelten Zeilenlängen für Option colNumbers u.U. zu groß.
- language => 'Perl' (Default: undef)
-
Sprache. Aktuell nur 'Perl'.
- lineNumbers => $n (Default: 1)
-
Setze die Zeilennummer an den Anfang jeder Zeile, beginnend mit $n. Bei lineNumbers=>0 wird keine Zeilennummer gesetzt.
- minLineNumberWidth => $n (Default: 2)
-
Minimale Breite der Zeilennummern-Spalte in Zeichen. Ungenutzte Stellen werden mit Leerzeichen aufgefüllt.
- source => $filename -or- $strRef (Default: undef)
-
Inhalt. Dieser kann aus einer Datei oder einem String kommen.
EXAMPLE
Programm:
3:
4:
my
$h
= R1::HtmlTag->new;
5:
6:
my
$text
= <<
'__PERL__'
;
7:
#!/usr/bin/perl
8:
9: =encoding utf8
10:
11: Nur ein Demo-Programm.
12:
13: =cut
14:
15:
"Hello world!\n"
;
16:
17:
# eof
18: __PERL__
19:
20:
my
$html
= R1::Html::Listing->html(
$h
,
21:
cssPrefix
=>
'sdoc-code'
,
22:
language
=>
'Perl'
,
23:
source
=>\
$text
,
24: );
Ergebnis:
1:
Im Browser:
METHODS
Konstruktor
new() - Konstruktor
Synopsis
$obj
=
$class
->new(
@keyVal
);
Objektmethoden
html() - Generiere HTML
Synopsis
$html
=
$obj
->html(
$h
);
$html
=
$class
->html(
$h
,
@keyVal
);
DETAILS
CSS-Klassen
PREFIX-table|Das gesamte Konstrukt (Tabelle)
PREFIX-
tr
-odd|Ungerade Zeile
PREFIX-
tr
-even|Gerade Zeile
PREFIX-td-ln|Zelle für Zeilennummer
PREFIX-td-cn|Zelle für Kolumnennummer
PREFIX-td-edge|Eckzelle Kolumnennummer/Zeilennummer
PREFIX-td-line|Zelle für Zeileninhalt
PREFIX-doc|Kennzeichnung Doku (bei Perl POD)
PREFIX-comment|Kennzeichnung Kommentar
VERSION
1.225
AUTHOR
Frank Seitz, http://fseitz.de/
COPYRIGHT
Copyright (C) 2025 Frank Seitz
LICENSE
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.