¡Vikidia te necesita!
Actualmente tenemos 6500 artículos. ¡Anímate! a crear los artículos solicitados |
Módulo:Lista
Ir a la navegación
Ir a la búsqueda
Este módulo permite crear listas con diversos estilos, sin modificar el marcado HTML.
Funciones
Lista(table args)
Crea una lista HTML, con los valores pasados en la secuencia args. La estructura de dicha tabla es la siguiente:
Parámetro | Descripción |
---|---|
string Tipo | Puede tomar dos valores: v para vertical, o h para horizontal. |
string Separador | Una cadena de texto para ser usada como separador. |
string Conjunción | Ídem del anterior. |
table Elementos | Una secuencia de cadenas, que contiene los elementos a incluir en la lista. |
Retorna una cadena HTML con un elemento <ul>
.
_Lista(frame frame)
Interfaz wikitexto. Es usada por {{Lista}}
. Retorna lo devuelto por Lista.
Variables
table formatos
Contiene tablas de 3 elementos con formatos predefinidos para usar.
Esta documentación se encuentra en la subpágina Módulo:Lista/doc ( | historial)
Por favor, incluye las categorías a la subpágina /doc. Subpáginas de este módulo.
local z = {}
local argumentos = mw.getCurrentFrame():getParent().args
z.formatos = {
['natural'] = {'h',', ', ' y '},
['viñeta'] = {'h',' • ', ' • '},
['plana'] = {'v','', ''},
}
function z.Lista(args)
local ul = mw.html.create('ul')
if args[1] == 'v' then
ul:attr('class', 'listav')
ul:cssText("--sep:'"..args[2].."';")
for i, v in ipairs(args[4]) do
local li = ul:tag('li')
li:wikitext(v)
end
elseif args[1] == 'h' then
ul:attr('class', 'listah')
for i, v in ipairs(args[4]) do
local li = ul:tag('li')
if i == #args[4] then
li:cssText("--sep:'"..args[3].."';")
else
li:cssText("--sep:'"..args[2].."';")
end
li:wikitext(v)
end
else
error('Se debe especificar un tipo de lista válido.')
end
return tostring(ul)
end
function z._Lista(frame)
local formato
if z.formatos[argumentos.formato] then
formato = z.formatos[argumentos.formato]
elseif argumentos.tipo and argumentos.sep then
formato = {argumentos.tipo, argumentos.sep, argumentos.conj or argumentos.sep}
else
formato = z.formatos['natural']
end
formato[4] = {}
for i, v in ipairs(argumentos) do
table.insert(formato[4], v)
end
return z.Lista(formato)
end
return z