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

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

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.