The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Quiq::Sdoc - 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->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.139

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.