Módulo:Verso
Apariencia
Esta documentación está transcluida desde Módulo:Verso/doc.
Los editores pueden experimentar en la zona de pruebas de este módulo.
Por favor, añade las categorías e interwikis a la subpágina de documentación. Subpáginas de este módulo.
Los editores pueden experimentar en la zona de pruebas de este módulo.
Por favor, añade las categorías e interwikis a la subpágina de documentación. Subpáginas de este módulo.
local p = {}
local altparams= {
[1] ='c', ['chapter']='c', ['capítulo']='c',['capitulo']='c',
[2] = 'v', ['verse']='v', ['verso']='v',
[3] = 'color', ['colour']='color',
['align'] = 'alinear'
}
function p.verso( frame ) -- función principal para llamar desde {{verso}}
local argus = {}
for k,v in pairs(frame.args) do
argus[k] = v
end
for k,v in pairs(frame:getParent().args) do -- crea una tabla con los parámetros incluídos en la plantilla, y elimina parámetros vacíos
argus[k] = v
end
for k,v in pairs(altparams) do --parámetros con nobmres alternativos.
if argus[k] and not argus[v] then
argus[v] = argus[k]
end
end
local html = mw.html.create() -- cuerpo principal de la plantilla
local span = html:tag('span')
span:css('vertical-align','super') --superíndice
if argus['color'] then
if mw.ustring.sub( argus['color'], 0, 1 ) == '#' then
color = argus['color']
else
color = frame:expandTemplate{ title = 'RGB', args = { argus['color'] } }
end
color = mw.ustring.gsub(color, '#', '#')
span:css('color',color)
else
span:css('color', '#2E8B57') -- color por defecto
end
if argus['alinear']~= nil then
if argus['alinear'] == 'left' then
span:css('position','absolute');
span:css('left','1em')
elseif argus['alinear'] == 'float' then
span:css('float','left')
span:css('text-align','right')
span:css('margin-left','-4em')
span:css('width','4em')
end
end
if argus['v']~=nil then
anclaje=argus['v']
if argus['c']~=nil then
if argus['c']~='' then
anclaje=argus['c']..':'.. anclaje
end
end
end
span:attr('title', anclaje)
span:attr('id', anclaje)
if argus['notext']~=nil then --Opción de no texto o texto alternativo a mostrar
textoMostrar=notext
else
textoMostrar=argus['v']
end
span:wikitext( textoMostrar )
return tostring(html)
end
return p