Difference between revisions of "Module:Text/doc"

From blackwiki
Jump to navigation Jump to search
blackwiki>GKFX
blackwiki>GKFX
Line 46: Line 46:
 
: The elements are separated by a comma and space ; the word "and" appears between the first and last.
 
: The elements are separated by a comma and space ; the word "and" appears between the first and last.
 
: Unnamed parameters become the list items.
 
: Unnamed parameters become the list items.
: Optionale Parameter von <code>#invoke</code>:
+
: Optional parameters for <code>#invoke</code>:
 
:* <code>format</code> – Every list element will first be formatted with this format string; see [[:mw:Extension:Scribunto/Lua_reference_manual#string.format|here]] for how to construct this string. The string must contain at least one <code>%s</code> sequence.
 
:* <code>format</code> – Every list element will first be formatted with this format string; see [[:mw:Extension:Scribunto/Lua_reference_manual#string.format|here]] for how to construct this string. The string must contain at least one <code>%s</code> sequence.
 
:* <code>template=1</code> – List elements should be taken from the calling template.
 
:* <code>template=1</code> – List elements should be taken from the calling template.
 
: Returns the resulting string.
 
: Returns the resulting string.
 
; quote {{Anchor|quote}}
 
; quote {{Anchor|quote}}
: Schließe die Zeichenkette in sprachabhängige Anführungszeichen ein.
+
: Wrap the string in quotes; quotes can be chosen for a specific language.
 
::; 1
 
::; 1
 
::: Input text (will be automatically trimmed); may be empty.
 
::: Input text (will be automatically trimmed); may be empty.
Line 59: Line 59:
 
::: ''(optional)'' <code>2</code> for second level quotes. This means the single quote marks in a statement such as: Jack said, “Jill said ‘fish’ last Tuesday.”
 
::: ''(optional)'' <code>2</code> for second level quotes. This means the single quote marks in a statement such as: Jack said, “Jill said ‘fish’ last Tuesday.”
 
; quoteUnquoted {{Anchor|quoteUnquoted}}
 
; quoteUnquoted {{Anchor|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.
+
:  
 +
: Wrap the string in quotes; quotes can be chosen for a specific language. Will not quote an empty string, and will not quote if there is a quote at the start or end of the (trimmed) string.
 
::; 1
 
::; 1
 
::: Input text (will be automatically trimmed); may be empty.
 
::: Input text (will be automatically trimmed); may be empty.
Line 67: Line 68:
 
::: ''(optional)'' <code>2</code> for second level quotes. This means the single quote marks in a statement such as: Jack said, “Jill said ‘fish’ last Tuesday.”
 
::: ''(optional)'' <code>2</code> for second level quotes. This means the single quote marks in a statement such as: Jack said, “Jill said ‘fish’ last Tuesday.”
 
; removeDiacritics {{Anchor|removeDiacritics}}
 
; removeDiacritics {{Anchor|removeDiacritics}}
: Entfernt alle [[diacritical marks]] aus der Eingabe.
+
: Removes all [[diacritical marks]] from the input.
 
::; 1
 
::; 1
::;: Eingabetext
+
::;: Input text
 
; sentenceTerminated {{Anchor|sentenceTerminated}}
 
; sentenceTerminated {{Anchor|sentenceTerminated}}
: Ist die Zeichenkette mit einem Satzendezeichen beendet, auch CJK, auch wenn noch Anführungszeichen oder schließende eckige Klammern folgen?
+
: Is this sentence terminated? Should work with CJK, and allows quotation marks to follow.
:* ''nichts'' – wenn nicht erkannt
+
:* Returns nothing if the sentence is unterminated.
 
; ucfirstAll {{Anchor|ucfirstAll}}
 
; ucfirstAll {{Anchor|ucfirstAll}}
: Den ersten Buchstaben jedes erkennbaren Wortes groß schreiben.
+
: The first letter of every recognized word is converted to upper case. This contrasts with the parser function {{tlg|:mw:ucfirst|alttext=ucfirst:}} which changes only the first character of the whole string passed.
: Die Parserfunktion <code><nowiki>{{ucfirst:}}</nowiki></code> verändert hingegen nur das erste nichtleere Zeichen des Parameters.
+
: A few common HTML entities are protected; the implementation of this may mean that numerical entities passed (e.g. <code>&amp;#38;)</code> are converted to <code>&amp;amp;</code> form
: Benannte HTML-Entities, deren Notation wegen Unsichtbarkeit oder Syntaxkonflikt üblich ist, werden nicht beeinträchtigt.
 
 
; uprightNonlatin {{Anchor|uprightNonlatin}}
 
; uprightNonlatin {{Anchor|uprightNonlatin}}
: Gib eine Zeichenkette zurück, bei der nichtlateinische Zeichen nicht kursiv dargestellt werden, abgesehen von einem einzelnen griechischen Buchstaben.
+
: Takes a string. Italicized non-Latin characters are un-italicized, unless they are a single Greek letter.
 
; zip {{Anchor|zip}}
 
; zip {{Anchor|zip}}
: Fügt mehrere Listen/Tupel in Textform elementweise im Reißverschlussprinzip zusammen (''[[:en: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.)
+
: Combines a tuple of lists by [[convolution (computer science)|convolution]]. This is easiest to explain by example: given two lists, list1 = "a b c" and list2 = "1 2 3", then<br><code>zip(liste1, liste2, sep = " ", isep = "-", osep = "/")</code><br>outputs<br><code>a-1/b-2/c-3</code>
:* 1, 2, 3, … – Listen/Tupel
+
:* 1, 2, 3, … – Lists to be combined
:* <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> – A separator (in Lua [[regex]] form) used to split the lists. If empty, the lists are split into individual characters.
:* <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>, … – Allows a different separator to be used for each list.
:* <code>isep</code> – Ausgabetrennzeichen mit dem die Einträge die in ihren Listen an gleichen Positionen stehen verbunden werden
+
:* <code>isep</code> – Output separator; placed between elements which were at the ''same'' index in their lists.
:* <code>osep</code> – Ausgabetrennzeichen mit dem ein Positionswechsel markiert wird
+
:* <code>osep</code> – Output separator; placed between elements which had ''different'' original indices; i.e. between the groups joined with <code>isep</code>
  
===  Beispiele (Testseite) ===
+
===  Examples and test page ===
 
There are [[:de:Wikipedia:Lua/Modul/Text/Test|tests available]] {{link language|de}} to illustrate this in practice.
 
There are [[:de:Wikipedia:Lua/Modul/Text/Test|tests available]] {{link language|de}} to illustrate this in practice.
  

Revision as of 15:18, 8 February 2018

Text – Module containing methods for the manipulation of text, wikimarkup and some HTML.

Functions for templates

All methods have an unnamed parameter containing the text.

The return value is an empty string if the parameter does not meet the conditions. When the condition is matched or some result is successfully found, strings of at least one character are returned.

char
Creates a string from a list of character codes.
1
Space-separated list of character codes
*
Number of repetitions of the list in parameter 1; (Default 1).
errors
0 – Silence errors
concatParams
Combine any number of elements into a list, like table.concat() in Lua.
From a template:
1
First element; missing and empty elements are ignored.
2 3 4 5 6 …
Further list elements
From Lua
args
table (sequence) of the elements
apply
Separator between elements; defaults to |
adapt
optional formatting, which will be applied to each element; must contain %s.
containsCJK
Returns whether the input string contains any CJK characters
  • Returns nothing if there are no CJK characters
getPlain
Remove wikimarkup (except templates): comments, tags, bold, italic, nbsp
isLatinRange
Returns some content, unless the string contains a character that would not normally be found in Latin text.
  • Returns nothing if there is a non-Latin string.
isQuote
Returns some content if the parameter passed is a single character, and that character is a quote, such as '.
  • Returns nothing for multiple characters, or if the character passed is not a quote.
listToText
Formats list elements analogously to mw.text.listToText().
The elements are separated by a comma and space ; the word "and" appears between the first and last.
Unnamed parameters become the list items.
Optional parameters for #invoke:
  • format – Every list element will first be formatted with this format string; see here for how to construct this string. The string must contain at least one %s sequence.
  • template=1 – List elements should be taken from the calling template.
Returns the resulting string.
quote
Wrap the string in quotes; quotes can be chosen for a specific language.
1
Input text (will be automatically trimmed); may be empty.
2
(optional) the ISO 639 language code for the quote marks; should be one of the supported languages Template:Link language
3
(optional) 2 for second level quotes. This means the single quote marks in a statement such as: Jack said, “Jill said ‘fish’ last Tuesday.”
quoteUnquoted
Wrap the string in quotes; quotes can be chosen for a specific language. Will not quote an empty string, and will not quote if there is a quote at the start or end of the (trimmed) string.
1
Input text (will be automatically trimmed); may be empty.
2
(optional) the ISO 639 language code for the quote marks; should be one of the supported languages Template:Link language
3
(optional) 2 for second level quotes. This means the single quote marks in a statement such as: Jack said, “Jill said ‘fish’ last Tuesday.”
removeDiacritics
Removes all diacritical marks from the input.
1
Input text
sentenceTerminated
Is this sentence terminated? Should work with CJK, and allows quotation marks to follow.
  • Returns nothing if the sentence is unterminated.
ucfirstAll
The first letter of every recognized word is converted to upper case. This contrasts with the parser function {{ucfirst:}} which changes only the first character of the whole string passed.
A few common HTML entities are protected; the implementation of this may mean that numerical entities passed (e.g. &#38;) are converted to &amp; form
uprightNonlatin
Takes a string. Italicized non-Latin characters are un-italicized, unless they are a single Greek letter.
zip
Combines a tuple of lists by convolution. This is easiest to explain by example: given two lists, list1 = "a b c" and list2 = "1 2 3", then
zip(liste1, liste2, sep = " ", isep = "-", osep = "/")
outputs
a-1/b-2/c-3
  • 1, 2, 3, … – Lists to be combined
  • sep – A separator (in Lua regex form) used to split the lists. If empty, the lists are split into individual characters.
  • sep1, sep2, sep3, … – Allows a different separator to be used for each list.
  • isep – Output separator; placed between elements which were at the same index in their lists.
  • osep – Output separator; placed between elements which had different original indices; i.e. between the groups joined with isep

Examples and test page

There are tests available Template:Link language to illustrate this in practice.

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.