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:
1: require R1::HtmlTag;
2: require R1::Html::Listing;
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: print "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.140
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.