NAME

Quiq::Sdoc::Producer - Sdoc-Generator

BASE CLASS

Quiq::Hash

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

indentation => $n (Default: 4)

Einrücktiefe bei der Codegenerierung

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);

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.

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($text,@keyVal);

Description

Erzeuge eine Tabelle mit der ASCII-Darstellung $text mit den Eigenschaften @keyVal und liefere den resultierenden Sdoc-Code zurück.

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);
$str = $gen->section($level,$title,$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.171

AUTHOR

Frank Seitz, http://fseitz.de/

COPYRIGHT

Copyright (C) 2020 Frank Seitz

LICENSE

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