NAME

Quiq::Html::Listing - Programm-Listing in HTML

BASE CLASS

Quiq::Html::Base

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

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.