Module:Text/doc

    From Nonbinary Wiki

    This is the documentation page for Module:Text

    Wikipedia logo This module uses material from the Wikipedia module Module:Text, which is released under the Creative Commons Attribution-ShareAlike 3.0 Unported License (view authors).
    Wikipedia logo This module uses material from the Wikipedia module Module:Text/doc, which is released under the Creative Commons Attribution-ShareAlike 3.0 Unported License (view authors).

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

    Functions for templates[edit source]

    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
    removeDelimited
    Remove all text between delimiters, including the delimiters themselves.
    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:In lang
    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:In lang
    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 Template:Tlg 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. &) are converted to & 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[edit source]

    There are tests available Template:In lang to illustrate this in practice.

    Use in another Lua module[edit source]

    All of the above functions can be called from other Lua modules. Use require(); the below code checks for errors loading it: <syntaxhighlight lang="lua"> local lucky, Text = pcall( require, "Module:Text" ) if type( Text ) == "table" then

       Text = Text.Text()
    

    else

       -- In the event of errors, Text is an error message.
       return "" .. Text .. ""
    

    end </syntaxhighlight> You may then call:

    • Text.char( apply, again, accept )
    • Text.concatParams( args, separator, format )
    • Text.containsCJK( s )
    • Text.removeDelimited( 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 )

    Usage[edit source]

    This is a general library; use it anywhere.

    Dependencies[edit source]

    None.

    See also[edit source]

    Template:String-handling templates