Frank Seitz
and 1 contributors

NAME

Prty::Html::Listing - Programm-Listing in HTML

BASE CLASS

Prty::Html::Base

SYNOPSIS

    use Prty::Html::Listing;
    
    my $h = Prty::Html::Tag->new;
    
    my $obj = Prty::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

PREFIX ist der cssPrefix (siehe Basisklasse)

VERSION

1.108

AUTHOR

Frank Seitz, http://fseitz.de/

COPYRIGHT

Copyright (C) 2017 Frank Seitz

LICENSE

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