Module:Text/doc

From Atrocious Gameplay Wiki

This is the documentation page for Module:Text

Template:LuaModuleDoc Text – Modul mit Funktionen für Textpassagen, Wikitext und ggf. HTML.

Template:Anker 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 Template:Anker
Beliebig viele Elemente zu einer Liste kombinieren ähnlich table.concat() in Lua.
Vorlagenprogrammierung
1
Erstes Element; fehlende oder leere Elemente werden ignoriert
2 3 4 5 6 …
Zweites usw. Element
Lua
args
table (sequence) mit den Elementen
apply
Trennzeichen bei der internen Verkettung; standardmäßig |
adapt
optionale Formatierung, die auf jedes Element angewendet wird; muss %s enthalten.
containsCJK Template:Anker
Enthält die Zeichenkette ein CJK-Zeichen?
  • nichts – wenn nicht erkannt
getPlainTemplate:Anker
Entferne Wikisyntax (ausgenommen Vorlagen): Kommentare, Tags, Kursiv-/Fettschrift, nbsp
isLatinRange Template:Anker
Besteht die Zeichenkette nur aus Zeichen, die in lateinisch verschrifteten Texten zu erwarten sind?
  • nichts – wenn ein anderes Zeichen gefunden wurde
isQuote Template:Anker
Ist dieses einzelne Zeichen als Anführungszeichen einsetzbar, einschließlich eines ' aus der Wikisyntax?
  • nichts – wenn kein Anführungszeichen oder mehrere Zeichen
listToText Template:Anker
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 #invoke:
  • format – Jedes Listenelement soll zunächst mit diesem Pattern formatiert werden, das mindestens ein %s enthalten muss.
  • template=1 – Die Listenelemente werden der umgebenden Vorlageneinbindung entnommen.
Das Ergebnis ist die Zeichenkette.
quoteUnquoted Template:Anker
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) 2 für Anführungszeichen zweiter Ebene
removeDiacritics Template:Anker
Entfernt alle diakritischen Zeichen aus der Eingabe.
1
Eingabetext
sentenceTerminated Template:Anker
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 Template:Anker
Den ersten Buchstaben jedes erkennbaren Wortes groß schreiben.
Die Parserfunktion {{ucfirst:}} 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 Template:Anker
Gib eine Zeichenkette zurück, bei der nichtlateinische Zeichen nicht kursiv dargestellt werden, abgesehen von einem einzelnen griechischen Buchstaben.
zip Template:Anker
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
  • sep – Trennzeichen (Lua-Regex) mit dem die Einzelwerte der Liste voneinander getrennt sind. Wenn leer, wird die Liste in ihre Einzelzeichen zerlegt.
  • sep1, sep2, sep3, … – falls einzelne Listen ein anderes Trennzeichen verwenden
  • isep – Ausgabetrennzeichen mit dem die Einträge die in ihren Listen an gleichen Positionen stehen verbunden werden
  • osep – Ausgabetrennzeichen mit dem ein Positionswechsel markiert wird

Beispiele (Testseite)

Eine Testseite illustriert praktische Beispiele.

Template:Anker Funktionen für Lua-Module

Alle oben dokumentierten Funktionen können auch über require() in andere Module eingebunden werden:

local lucky, Text = pcall( require, "Module:Text" )
if type( Text ) == "table" then
    Text = Text.Text()
else
    -- Fehlerfall; Text enthält Fehlermeldung
    return "<span class=\"error\">" .. Text .. "</span>"
end

Danach stehen zur Verfügung:

  • Text.concatParams( args, separator, format )
  • Text.containsCJK( s )
  • Text.getPlain( 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(…)
  • Text.test( s )
    Modultest

Verwendung

Allgemeine Bibliothek; nicht eingegrenzt.

Abhängigkeiten

Keine.

Text/de