The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Prty::MediaWiki::Markup - MediaWiki Code Generator

BASE CLASS

Prty::Hash

DESCRIPTION

Ein Objekt der Klasse repräsentiert einen Generator für das MediaWiki-Markup. Die Methoden der Klasse erzeugen den Markup-Code, ohne dass man sich um die Details der Syntax kümmern muss. Die Implementierung ist nicht vollständig, sondern wird nach Bedarf erweitert.

METHODS

Konstruktor

new() - Instantiiere MediaWiki Markup-Generator

Synopsis

    $gen = $class->new;

Description

Instantiiere einen MediaWiki Markup Generator und liefere eine Referenz auf dieses Objekt zurück.

Blöcke

Der Code von Blöcken wird mit einer Leerzeile am Ende erzeugt, so dass alle Blöcke einfach konkateniert werden können.

code() - Erzeuge Code-Abschnitt

Synopsis

    $code = $gen->code($text);
    $code = $gen->code($text,$withFormatting);

Arguments

$text

Der Text des Code-Blocks

$withFormatting

Wenn wahr, sind Inline-Formatierungen bold und italic möglich.

Returns

Markup-Code (String)

Description

Erzeuge den MediaWiki Markup-Code für einen Code-Block mit dem Text $text und liefere diesen zurück. Ist $text undef oder ein Leerstring, wird ein Leerstring geliefert. Andernfalls wird $text per trim() von einer etwaigen Einrückung befreit, bevor er um zwei Leerzeichen eingerückt wird.

See Also

Quelle: https://www.mediawiki.org/wiki/Help:Formatting

Examples

  • Text:

        $gen->code("Dies ist\nein Test.");

    erzeugt

        |  <nowiki>Dies ist
        |  ein Test.</nowiki>
  • Eine Einrückung der Quelle wird automatisch entfernt:

        $gen->code(q~
            Dies ist
            ein Test.
        ~);

    erzeugt

        |  <nowiki>Dies ist
        |  ein Test.

comment() - Erzeuge Kommentar

Synopsis

    $code = $gen->comment($text);

Arguments

$text

Der Text des Kommentars

Returns

Markup-Code (String)

Description

Erzeuge den MediaWiki Markup-Code für einen Kommentar mit dem Text $text und liefere diesen zurück. Ist $text undef oder ein Leerstring, wird ein Leerstring geliefert. Andernfalls wird $text per trim() von einer etwaigen Einrückung befreit.

Ist der Kommentar einzeilig, wird die Kommentar-Klammer auf die gleiche Zeile gesetzt:

    <!-- TEXT -->

Ist der Kommentar mehrzeilig, wird die Kommentar-Klammer auf separate Zeilen gesetzt und der Text um zwei Leerzeichen eingerückt:

    <!--
      TEXT
    -->

See Also

Quelle: https://www.mediawiki.org/wiki/Help:Formatting

Examples

  • Einzeiliger Kommentar:

        $gen->comment('Dies ist ein Kommentar');

    erzeugt

        <!-- Dies ist ein Kommentar -->
  • Mehrzeiliger Kommentar:

        $gen->comment(q~
            Dies ist
            ein Kommentar
        ~);

    erzeugt

        <!--
          Dies ist
          ein Kommentar
        -->

horizontalRule() - Erzeuge horizontale Trennline

Synopsis

    $code = $gen->horizontalRule;

Returns

Markup-Code (String)

Description

Erzeuge den MediaWiki Markup-Code für eine horizontale Trennline und liefere diesen zurück.

See Also

Quelle: https://www.mediawiki.org/wiki/Help:Formatting

Example

    $gen->horizontalRule;

erzeugt

    ----

list() - Erzeuge Liste

Synopsis

    $code = $gen->list($type,\@items);

Arguments

$type

Typ der Liste. Mögliche Werte:

  • Punktliste.

  • #

    Numerierungsliste.

  • ;

    Definitionsliste.

@items

Liste der List-Items. Im Falle einer Definitionsliste ist dies eine Liste von Schlüssel/Wert-Paaren. In allen anderen Fällen ist es eine Liste von skalaren Werten.

Returns

Markup-Code (String)

Description

Erzeuge den MediaWiki Markup-Code für eine Liste des Typs $type mit den Elementen @items und liefere diesen zurück.

See Also

Examples

  • Punktliste

        $gen->list('*',['Apfel','Birne','Pflaume']);

    produziert

        * Apfel
        * Birne
        * Pflaume
  • Nummerierungsliste

        $gen->list('#',['Apfel','Birne','Pflaume']);

    produziert

        # Apfel
        # Birne
        # Pflaume
  • Definitionsliste

        $gen->list(';',[A=>'Apfel',B=>'Birne',C=>'Pflaume']);

    produziert

        ; A : Apfel
        ; B : Birne
        ; C : Pflaume

paragraph() - Erzeuge Paragraph

Synopsis

    $code = $gen->paragraph($text);

Arguments

$text

Der Text des Paragraphen

Returns

Markup-Code (String)

Description

Erzeuge den MediaWiki Markup-Code für einen Paragraphen mit dem Text $text und liefere diesen zurück. Ist $text undef oder ein Leerstring, wird ein Leerstring geliefert. Andernfalls wird $text per trim() von einer etwaigen Einrückung befreit.

See Also

Quelle: https://www.mediawiki.org/wiki/Help:Formatting

Examples

  • Text:

        $gen->paragraph("Dies ist\nein Test.");

    erzeugt

        Dies ist
        ein Test.
  • Eine Einrückung wird automatisch entfernt:

        $gen->paragraph(q~
            Dies ist
            ein Test.
        ~);

    erzeugt

        Dies ist
        ein Test.

section() - Erzeuge Abschnittsüberschrift

Synopsis

    $code = $gen->section($level,$title);

Arguments

$level

Die Nummer der Abschnittsebene. Wertebereich: 1-6.

$title

Der Abschnitts-Titel.

Returns

Markup-Code (String)

Description

Erzeuge den MediaWiki Markup-Code für einen Abschnitt der Tiefe $level und der Abschnittsüberschrift $title und liefere diesen zurück.

See Also

Quelle: https://www.mediawiki.org/wiki/Help:Formatting

Example

    $gen->section(3,'Eine Überschrift');

produziert

    === Eine Überschrift ===

tableOfContents() - Setze oder unterdrücke Inhaltsverzeichnis

Synopsis

    $code = $gen->tableOfContents($bool);

Arguments

$bool

Wenn wahr, wird an der aktuellen Position das Inhaltsverzeichnis der Seite gesetzt. Wenn falsch, wird kein Inhaltsverzeichnis für die Seite gesetzt, auch nicht automatisch.

Returns

Markup-Code (String)

Description

Erzeuge den MediaWiki Markup-Code für das Setzen oder Unterdrücken des Inhaltsverzeichnisses und liefere diesen zurück.

See Also

Quelle: https://www.mediawiki.org/wiki/Manual:Table_of_contents

Examples

  • Inhaltsverzeichnis setzen

        $gen->tableOfContents(1);

    erzeugt

        __TOC__
  • Inhaltsverzeichnis unterdrücken

        $gen->tableOfContents(0);

    erzeugt

        __NOTOC__

Segmente

fmt() - Inline-Formatierung

Synopsis

    $str = $gen->fmt($type,$text);

Description

Erzeuge Inline-Segment für Text $text und liefere den resultierenden Wiki-Code zurück. Ist $text undef oder ein Leerstring, wird ein Leerstring geliefert. Andernfalls wird $text per trim() von einer etwaigen Einrückung befreit und einzeilig gemacht, d.h. Zeilenumbrüche in $text werden entfernt.

Es existieren die Formatierungen:

comment

Der Text wird als einzeiliger Kommentar gesetzt. Erzeugt:

    <!-- TEXT -->
italic

Erzeugt:

    ''TEXT''
bold

Erzeugt:

    '''TEXT'''
boldItalic

Erzeugt:

    '''''TEXT'''''
code

Der Text wird nicht interpretiert. Erzeugt:

    <code><nowiki>TEXT</nowiki></code>
codeWithFormatting

Inline-Formatierungen wie bold und italic sind möglich. Erzeugt:

    <code>TEXT</code>
nowiki

Erzeugt:

    <nowiki>TEXT</nowiki>

See Also

Quelle: https://www.mediawiki.org/wiki/Help:Formatting

Testseite

testPage() - Erzeuge Test-Seite

Synopsis

    $code = $this->testPage;

Description

Erzeuge eine Seite mit MediaWiki-Markup. Diese Seite kann in ein MediaWiki übertragen und dort visuell begutachtet werden.

Example

    $ perl -MPrty::MediaWiki::Markup -C -E 'print Prty::MediaWiki::Markup->testPage'

VERSION

1.125

AUTHOR

Frank Seitz, http://fseitz.de/

COPYRIGHT

Copyright (C) 2018 Frank Seitz

LICENSE

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

2 POD Errors

The following errors were encountered while parsing the POD:

Around line 348:

Expected '=item *'

Around line 352:

Expected '=item *'