NAME
Quiq::Sdoc::Producer - Sdoc-Generator
BASE CLASS
DESCRIPTION
Ein Objekt der Klasse repräsentiert einen Sdoc-Generator. Die Methoden der Klasse erzeugen die Konstrukte, aus denen ein Sdoc-Dokument aufgebaut ist.
ATTRIBUTES
METHODS
Konstruktor
new() - Konstruktor
Synopsis
$gen = $class->new(@keyVal);
Description
Instantiiere einen Sdoc-Generator mit den Eigenschaften @keyVal (s. Abschnitt Attributes) und liefere eine Referenz auf dieses Objekt zurück.
Example
Generiere Sdoc mit Einrückung 2:
$gen = Quiq::Sdoc::Producer->new(
indentation => 2,
);
Objektmethoden
code() - Code-Abschnitt
Synopsis
$str = $gen->code($text,@keyVal);
Arguments
Description
Erzeuge einen Code-Abschnitt mit Text $text und liefere den resultierenden Sdoc-Code zurück.
Example
$gen->code("Dies ist\nein Test\n");
erzeugt
| Dies ist\n
| ein Test.\n
|\n
comment() - Kommentar
Synopsis
$str = $gen->comment($text);
Description
Erzeuge einen Kommentar mit dem Text $text und liefere den resultierenden Sdoc-Code zurück.
Example
$gen->comment("Dies ist\nein Test\n");
erzeugt
# Dies ist\n
# ein Test.\n
\n
document() - Dokument-Definition
Synopsis
$str = $gen->document(@keyVal);
Description
Erzeuge eine Dokument-Definition mit den Eigenschaften @keyVal und liefere den resultierenden Sdoc-Code zurück.
format() - Format-Abschnitt
Synopsis
$str = $gen->format(
$format => $code,
...
);
Description
Erzeuge einen Format-Abschnitt für die angegebenen Format/Code-Paare und liefere den resultierenden Sdoc-Code zurück.
link() - Link
Synopsis
$str = $gen->link($name,
url => $url,
...
);
Description
Erzeuge ein Link-Segment. Intern wird die Link-Defínition gespeichert, die später mit allen anderen Link-Definitionen per $gen->linkDefs() abgerufen werden kann.
linkDefs() - Link-Definitionen
Synopsis
$str = $gen->linkDefs;
Description
Generiere Link-Definitionen zu den Link-Segmenten des Dokuments und liefere diese zurück. Die Methode wird typischerweise am Ende des Dokuments gerufen.
paragraph() - Paragraph
Synopsis
$str = $gen->paragraph($text);
Description
Erzeuge einen Paragraph mit Text $text und liefere den resultierenden Sdoc-Code zurück.
Example
$gen->paragraph("Dies ist\nein Test\n");
erzeugt
|Dies ist\n
|ein Test.\n
|\n
table() - Tabelle
Synopsis
$str = $gen->table(\@titles,\@rows,@keyVal); # mit Titelzeile
$str = $gen->table($width,\@rows,@keyVal); # ohne Titelzeile
$str = $gen->table($text,@keyVal);
Arguments
- @titles
-
(Array of Strings) Liste der Kolumnentitel
- @rows
-
(Array of Arrays of Strings) Liste der Zeilen
- $width
-
(Integer) Anzahl der Kolumnen
- $text
-
(String) Tabellen-Body als Text
- @keyVal
-
(Pairs of Strings) Liste von Tabellen-Eigenschaften
Returns
(String) Sdoc-Code
Description
Erzeuge eine Tabelle mit den Titeln @titles und den Zeilen @rows bzw. dem Tabellen-Body $text sowie den Eigenschaften @keyVal und liefere den resultierenden Sdoc-Code zurück.
Example
$str = $gen->table(['Integer','String','Float'],[
[1, 'A', 76.253],
[12, 'AB', 1.7 ],
[123,'ABC',9999 ],
]);
==>
%Table:
Integer String Float
------- ------ --------
1 A 76.253
12 AB 1.700
123 ABC 9999.000
.
\n
tableOfContents() - Inhaltsverzeichnis-Definition
Synopsis
$str = $gen->tableOfContents(@keyVal);
Description
Erzeuge eine Inhaltsverzeichnis-Definition mit den Eigenschaften @keyVal und liefere den resultierenden Sdoc-Code zurück.
section() - Abschnitt
Synopsis
$str = $gen->section($level,$title,@keyVal);
$str = $gen->section($level,$title,@keyVal,$body);
Description
Erzeuge einen Abschnitt der Tiefe $level mit dem Titel $title und dem Abschnitts-Körper $body und liefere den resultierenden Sdoc-Code zurück.
Example
$gen->section(2,'Test',"Dies ist\nein Test.");
erzeugt
== Test\n
\n
Dies ist\n
ein Test.\n
\n
definitionList() - Definitions-Liste
Synopsis
$str = $gen->definitionList(\@items);
Description
Erzeuge eine Definitions-Liste mit den Elementen @items (Array von Schlüssel/Wert-Paaren oder von zweielementigen Sub-Arrays) und liefere den resultierenden Sdoc-Code zurück.
Examples
Die Aufrufe
$gen->definitionList([A=>'Eins',B=>'Zwei']);
oder
$gen->definitionList([['A','Eins'],['B','Zwei']]);
erzeugen
[A]:\n
Eins\n
\n
[B]:\n
Zwei\n
\n
Endet der Schlüssel mit einem Doppelpunkt, wie bei den Aufrufen
$gen->definitionList(['A:'=>'Eins','B:'=>'Zwei']);
oder
$gen->definitionList([['A:','Eins'],['B:','Zwei']]);
steht der Doppelpunkt in der Klammer
[A:]\n
Eins\n
\n
[B:]\n
Zwei\n
\n
was bedeutet, dass dieser mit gesetzt wird.
eof() - EOF-Kommentar
Synopsis
$str = $gen->eof;
Description
Erzeuge einen EOF-Kommentar und liefere den resultierenden Sdoc-Code zurück.
Example
$gen->eof;
erzeugt
# eof\n
VERSION
1.220
AUTHOR
Frank Seitz, http://fseitz.de/
COPYRIGHT
Copyright (C) 2024 Frank Seitz
LICENSE
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.