Vés al contingut

Mòdul:Wikitext

De la Viquipèdia, l'enciclopèdia lliure
Icona de documentació de mòdul Documentació del mòdul [ mostra ] [ modifica el codi ] [ mostra l'historial ] [ refresca ]

Mòdul Wikitext (codi · ús · discussió · proves · tests · casos prova | subpàgines · enllaços)

A continuació es mostra la documentació transclosa de la subpàgina /ús. [salta a la caixa de codi]


Aquest mòdul elimina d'una llista vertical els elements de puntuació i indentació ("*" i "#"), deixant tan sols el text. Mitjançant el |inline=1, el resultat es retornarà com una llista horitzontal.

Aquesta funcionalitat es fa servir a la plantilla {{participants}}.

Sintaxi

[modifica]

{{#invoke:Wikitext |delistify |inline=1 |<llista>}} ... inline=1, és opcional.

Exemples

[modifica]
{{#invoke:Wikitext|delistify|
* plop
wow
*# plop
*#plop}}
gives
plop
wow
plop
plop
Inline mode
{{#invoke:Wikitext|delistify|inline=1|
* plop
wow
*# plop
*#plop}}
gives
 plop wow plop plop



z = {    
	-- mw = require "Module:mw"
};

function z.listifyLines(text)
    local result = ""
    for idx,line in ipairs(mw.text.split(text, "\n", true)) do
        if line ~= "" then
        	result = result .."* " .. line .. "\n"
        end
    end
    return result
end

function string.starts(String,Start)
   return string.sub(String,1,string.len(Start))==Start
end

function z.delistifyLines(text, inline)
    local result = {}
    for idx,line in ipairs(mw.text.split(text, "\n", true)) do
        table.insert(result, (line:gsub("^[*#]+ *", "")))
    end
    return table.concat(result, inline and " " or "\n") .. (inline and "" or "\n")
end

function z.listify(frame)
	return z.listifyLines(frame.args[1])
end

function z.delistify(frame)
	return z.delistifyLines(frame.args[1], frame.args['inline'])
end

return z;