Modul:Text/Doku: Unterschied zwischen den Versionen
Aus WiiDatabase Wiki
Zur Navigation springenZur Suche springen
ICON (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „<onlyinclude>'''<code>Text</code>''' – Modul mit Funktionen für Textpassagen, Wikitext und ggf. HTML. == {{Anker|Vorlage}} Funktionen für Vorlagen == All…“) |
ICON (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
||
Zeile 41: | Zeile 41: | ||
:* ''nichts'' – wenn kein Anführungszeichen oder mehrere Zeichen | :* ''nichts'' – wenn kein Anführungszeichen oder mehrere Zeichen | ||
; listToText {{Anker|listToText}} | ; listToText {{Anker|listToText}} | ||
: Formatiere Listenelemente analog zu [[Hilfe:Lua/Zeichenketten#mw.text.listToText()|mw.text.listToText()]] | : Formatiere Listenelemente analog zu [[w:Hilfe:Lua/Zeichenketten#mw.text.listToText()|mw.text.listToText()]] | ||
: Zwischen den Elementen wird ein Komma mit Leerzeichen gesetzt; zwischen dem vorletzten und letzten das Wort „und“. | : 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. | : Als Listenelemente werden die Werte unbenannter Parameter verwendet. | ||
: Optionale Parameter von <code>#invoke</code>: | : Optionale Parameter von <code>#invoke</code>: | ||
:* <code>format</code> – Jedes Listenelement soll zunächst mit diesem [[Hilfe:Lua/Zeichenketten#.format()|Pattern]] formatiert werden, das mindestens ein <code>%s</code> enthalten muss. | :* <code>format</code> – Jedes Listenelement soll zunächst mit diesem [[w:Hilfe:Lua/Zeichenketten#.format()|Pattern]] formatiert werden, das mindestens ein <code>%s</code> enthalten muss. | ||
:* <code>template=1</code> – Die Listenelemente werden der umgebenden Vorlageneinbindung entnommen. | :* <code>template=1</code> – Die Listenelemente werden der umgebenden Vorlageneinbindung entnommen. | ||
: Das Ergebnis ist die Zeichenkette. | : Das Ergebnis ist die Zeichenkette. | ||
Zeile 53: | Zeile 53: | ||
::;: Eingabetext (wird getrimmt) – auch leerer Text führt zum Ergebnis | ::;: Eingabetext (wird getrimmt) – auch leerer Text führt zum Ergebnis | ||
::; 2 | ::; 2 | ||
::;: ''(optional)'' einzelner Sprachcode gemäß [[ISO 639]] | ::;: ''(optional)'' einzelner Sprachcode gemäß [[w:ISO 639|ISO 639]] | ||
::;: [[w:Wikipedia:Lua/Modul/Text/Test#Anführungszeichen|Liste aktuell unterstützter Sprachen]] | ::;: [[w:Wikipedia:Lua/Modul/Text/Test#Anführungszeichen|Liste aktuell unterstützter Sprachen]] | ||
::; 3 | ::; 3 | ||
Zeile 62: | Zeile 62: | ||
::;: Eingabetext (wird getrimmt) | ::;: Eingabetext (wird getrimmt) | ||
::; 2 | ::; 2 | ||
::;: ''(optional)'' einzelner Sprachcode gemäß [[ISO 639]] | ::;: ''(optional)'' einzelner Sprachcode gemäß [[w:ISO 639|ISO 639]] | ||
::;: [[w:Wikipedia:Lua/Modul/Text/Test#Anführungszeichen|Liste aktuell unterstützter Sprachen]] | ::;: [[w:Wikipedia:Lua/Modul/Text/Test#Anführungszeichen|Liste aktuell unterstützter Sprachen]] | ||
::; 3 | ::; 3 | ||
::;: ''(optional)'' <code>2</code> für Anführungszeichen zweiter Ebene | ::;: ''(optional)'' <code>2</code> für Anführungszeichen zweiter Ebene | ||
; removeDiacritics {{Anker|removeDiacritics}} | ; removeDiacritics {{Anker|removeDiacritics}} | ||
: Entfernt alle [[Diakritisches Zeichen|diakritischen Zeichen]] aus der Eingabe. | : Entfernt alle [[w:Diakritisches Zeichen|diakritischen Zeichen]] aus der Eingabe. | ||
::; 1 | ::; 1 | ||
::;: Eingabetext | ::;: Eingabetext | ||
Zeile 80: | Zeile 80: | ||
: Gib eine Zeichenkette zurück, bei der nichtlateinische Zeichen nicht kursiv dargestellt werden, abgesehen von einem einzelnen griechischen Buchstaben. | : Gib eine Zeichenkette zurück, bei der nichtlateinische Zeichen nicht kursiv dargestellt werden, abgesehen von einem einzelnen griechischen Buchstaben. | ||
; zip {{Anker|zip}} | ; zip {{Anker|zip}} | ||
: Fügt mehrere Listen/Tupel in Textform elementweise im Reißverschlussprinzip zusammen (''[[ | : Fügt mehrere Listen/Tupel in Textform elementweise im Reißverschlussprinzip zusammen (''[[wikipedia:convolution (computer science)|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 | :* 1, 2, 3, … – Listen/Tupel | ||
:* <code>sep</code> – Trennzeichen (Lua-[[Regex]]) mit dem die Einzelwerte der Liste voneinander getrennt sind. Wenn leer, wird die Liste in ihre Einzelzeichen zerlegt. | :* <code>sep</code> – Trennzeichen (Lua-[[w:Regex|Regex]]) mit dem die Einzelwerte der Liste voneinander getrennt sind. Wenn leer, wird die Liste in ihre Einzelzeichen zerlegt. | ||
:* <code>sep1</code>, <code>sep2</code>, <code>sep3</code>, … – falls einzelne Listen ein anderes Trennzeichen verwenden | :* <code>sep1</code>, <code>sep2</code>, <code>sep3</code>, … – falls einzelne Listen ein anderes Trennzeichen verwenden | ||
:* <code>isep</code> – Ausgabetrennzeichen mit dem die Einträge die in ihren Listen an gleichen Positionen stehen verbunden werden | :* <code>isep</code> – Ausgabetrennzeichen mit dem die Einträge die in ihren Listen an gleichen Positionen stehen verbunden werden |
Aktuelle Version vom 8. Juli 2018, 17:51 Uhr
Text
– 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.
- char
- Zeichenkette aus Zeichencodes generieren.
- 1
- Leerzeichen-getrennte Liste von Zahlenwerten
- *
- Anzahl der Wiederholungen der Liste 1; Vorgabe: 1
- errors
0
– Fehlermeldungen unterdrücken
- concatParams
- 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
- Enthält die Zeichenkette ein CJK-Zeichen?
- nichts – wenn nicht erkannt
- getPlain
- Entferne Wikisyntax (ausgenommen Vorlagen): Kommentare, Tags, Kursiv-/Fettschrift, nbsp
- 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
- 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
#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.
- quote
- Schließe die Zeichenkette in sprachabhängige Anführungszeichen ein.
- 1
- Eingabetext (wird getrimmt) – auch leerer Text führt zum Ergebnis
- 2
- (optional) einzelner Sprachcode gemäß ISO 639
- Liste aktuell unterstützter Sprachen
- 3
- (optional)
2
für Anführungszeichen zweiter Ebene
- quoteUnquoted
- Schließe die Zeichenkette in sprachabhängige Anführungszeichen ein, falls nicht leer oder 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
- 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
{{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
- 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
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 verwendenisep
– Ausgabetrennzeichen mit dem die Einträge die in ihren Listen an gleichen Positionen stehen verbunden werdenosep
– 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 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.char( apply, again, accept )
- Text.concatParams( args, separator, format )
- Text.containsCJK( s )
- Text.getPlain( s )
- Text.isLatinRange( s )
- Text.isQuote( c )
- Text.listToText( table, format )
- Text.quote( s, lang, mode )
- 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.