Módulo:Texto

Fonte: Wikinotícias
Documentação Documentação de módulo
== Descrição ==

Módulo usado para modificações no texto.

Uso

  • semparenteses: remove os termos entre parênteses do texto
    {{#invoke:texto|semparenteses|X Y (Z)}} → X Y
    {{#invoke:texto|semparenteses|texto sem parênteses}} → texto sem parênteses
  • semlink: remove os colchetes, texto alternativo e parâmetros
    {{#invoke:texto|semlink|[[:Categoria:São Paulo (cidade)|São Paulo]]}}
Categoria:São Paulo (cidade)
  • {{#invoke:texto|semlink|[[Imagem:Wikinews-logo.svg|20px]]}} → Imagem:Wikinews-logo.svg
  • link adiciona ligações
    {{#invoke:texto|link|África}}África
    {{#invoke:texto|link|África, Europa, Oceania}}África, Europa, e Oceania

Ver também

Esta documentação se encontra na subpágina Módulo:Texto/doc (editar | histórico)
Por favor inclua as categorias à subpágina /doc. Subpáginas deste módulo.

m = {}

function m.semparenteses(params)
    local str = mw.ustring.gsub(params.args[1], ' *%([^)]+%)', '')
    return str
end

function m.semlink (params)
    local str = mw.ustring.gsub(params.args[1], '%[%[([^%]|]+)|?[^%]]*%]%]', '%1')
    return str
end

function m.link(params)
    local input = params.args[1]
    local separator = params.args[2] or ","
    local items = mw.text.split(input, separator)
    local filteredItems = {}
    for _, item in ipairs(items) do
        if item:match("^%s*(.-)%s*$") ~= "" then
            table.insert(filteredItems, item)
        end
    end
    local numItems = #filteredItems
    if numItems == 1 then
        return "[[" .. filteredItems[1] .. "]]"
    end
    local formattedStr = ""
    for i = 1, numItems - 1 do
        formattedStr = formattedStr .. "[[" .. filteredItems[i] .. "]], "
    end
    formattedStr = formattedStr .. "e [[" .. filteredItems[numItems] .. "]]"
    return formattedStr
end

return m