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