NAME
Prty::MediaWiki::Markup - MediaWiki Code Generator
BASE CLASS
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.
Links
MediaWiki-Homepage: https://m.mediawiki.org
Als Grundlage für die Implementierung dieser Klasse diente die Dokumentation der Wiki-Syntax: https://m.mediawiki.org/wiki/Help:Formatting/en
Globale Community Site für Wikimedia-Projekte: https://meta.wikimedia.org/wiki/Help:Comment_tags
Das lokale MediaWiki ist erreichbar unter: http://localhost/mediawiki/ (anmelden als Benutzer fs, ggf. apache2ctl start)
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
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
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
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 *'