Module:Text/doc

  – Modul mit Funktionen für Textpassagen, Wikitext und ggf. HTML.

Funktionen für Vorlagen
Alle Funktionen haben einen unbenannten Parameter mit dem Text.

Der Rückgabewert ist eine leere Zeichenkette („nichts“), wenn der Parameterwert die Erwartung nicht erfüllt. Wenn ein Ergebnis vorhanden oder die Abfragebedingung wahr ist, resultiert mindestens ein Zeichen.
 * concatParams
 * Beliebig viele Elemente zu einer Liste kombinieren ähnlich  in Lua.


 * 1
 * Erstes Element; fehlende oder leere Elemente werden ignoriert
 * 2 3 4 5 6 …
 * Zweites usw. Element


 * args
 * table (sequence) mit den Elementen


 * apply
 * Trennzeichen bei der internen Verkettung; standardmäßig
 * adapt
 * optionale Formatierung, die auf jedes Element angewendet wird; muss  enthalten.


 * containsCJK
 * Enthält die Zeichenkette ein CJK-Zeichen?
 * nichts – wenn nicht erkannt


 * isLatinRange
 * Besteht die Zeichenkette nur aus Zeichen, die in lateinisch verschrifteten Texten zu erwarten sind?
 * nichts – wenn ein anderes Zeichen gefunden wurde


 * isQuote
 * Ist dieses einzelne Zeichen als Anführungszeichen einsetzbar, einschließlich eines  aus der Wikisyntax?
 * nichts – wenn kein Anführungszeichen oder mehrere Zeichen


 * getPlain
 * Wikisyntax aus der Zeichenkette weitmöglichst entfernen.


 * listToText
 * Formatiere Listenelemente analog zu mw.text.listToText
 * Zwischen den Elementen wird ein Komma mit Leerzeichen gesetzt; zwischen dem vorletzten und letzten das Wort „und“.
 * Als Listenelemente werden die Werte unbenannter Parameter verwendet.
 * Optionale Parameter von :
 * – Jedes Listenelement soll zunächst mit diesem Pattern formatiert werden, das mindestens ein  enthalten muss.
 * – Die Listenelemente werden der umgebenden Vorlageneinbindung entnommen.
 * Das Ergebnis ist die Zeichenkette.


 * quoteUnquoted
 * Schließe die Zeichenkette in sprachabhängige Anführungszeichen ein, falls nicht schon zu Beginn oder am Ende ein Anführungszeichen steht.
 * 1
 * Eingabetext (wird getrimmt)
 * 2
 * (optional) einzelner Sprachcode gemäß ISO 639
 * Liste aktuell unterstützter Sprachen
 * 3
 * (optional)  für Anführungszeichen zweiter Ebene


 * removeDiacritics
 * Entfernt alle diakritischen Zeichen aus der Eingabe.
 * 1
 * Eingabetext


 * sentenceTerminated
 * Ist die Zeichenkette mit einem Satzendezeichen beendet, auch CJK, auch wenn noch Anführungszeichen oder schließende eckige Klammern folgen?
 * nichts – wenn nicht erkannt


 * ucfirstAll
 * Den ersten Buchstaben jedes erkennbaren Wortes groß schreiben.
 * Die Parserfunktion  verändert hingegen nur das erste nichtleere Zeichen des Parameters.
 * Benannte HTML-Entities, deren Notation wegen Unsichtbarkeit oder Syntaxkonflikt üblich ist, werden nicht beeinträchtigt.


 * uprightNonlatin
 * Gib eine Zeichenkette zurück, bei der nichtlateinische Zeichen nicht kursiv dargestellt werden, abgesehen von einem einzelnen griechischen Buchstaben.


 * zip
 * Fügt mehrere Listen/Tupel in Textform elementweise im Reißverschlussprinzip zusammen (convolution), d.h. sei liste1 = "a b c" und liste2 = "1 2 3" dann ist zip(liste1, liste2, sep = " ", isep = "-", osep = "/") = "a-1/b-2/c-3" (Hinweis: Bei Aufruf der Funktion aus dem Wikitext mittels #invoke entfallen die Anführungsstriche.)
 * 1, 2, 3, … – Listen/Tupel
 * – Trennzeichen (Lua-Regex) mit dem die Einzelwerte der Liste voneinander getrennt sind. Wenn leer, wird die Liste in ihre Einzelzeichen zerlegt.
 * ,,  , … – falls einzelne Listen ein anderes Trennzeichen verwenden
 * – Ausgabetrennzeichen mit dem die Einträge die in ihren Listen an gleichen Positionen stehen verbunden werden
 * – Ausgabetrennzeichen mit dem ein Positionswechsel markiert wird

Beispiele (Testseite)
Eine Testseite illustriert praktische Beispiele.

Funktionen für Lua-Module
Alle oben dokumentierten Funktionen können auch über  in andere Module eingebunden werden: Danach stehen zur Verfügung:
 * Text.concatParams( s, delimiter )
 * Text.containsCJK( s )
 * Text.isLatinRange( s )
 * Text.isQuote( c )
 * Text.listToText( table, format )
 * Text.quoteUnquoted( s, lang, mode )
 * Text.removeDiacritics( s )
 * Text.sentenceTerminated( s )
 * Text.ucfirstAll( s )
 * Text.uprightNonlatin( s )
 * Text.zip(…)

Verwendung
Allgemeine Bibliothek; nicht eingegrenzt.

Abhängigkeiten
Keine.