Módulo:Ediciones/pruebas
Apariencia
[crear]
Documentación del módulo
-- Modulo para obras
local p = {}
local Wikidata = require('Módulo:Wikidata')
local Enlaces = require('Módulo:Enlaces')
local Entidad = mw.wikibase.getEntityObject() or nil
local QID = Entidad and Entidad:getId()
local categorias = ''
-- Función que devuelve la lista de los valores de una propiedad en Wikidata formateados
function propiedad(PID, ... )
if not QID then return end
return Wikidata.claim{item=QID, property=PID, lang="es", list=false, ... }
end
function p.obra( frame )
frame = frame
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
local nombre = frame:preprocess("{{PAGENAME}}")
local html = mw.html.create() -- cuerpo principal de la plantilla
local div=html:tag('table'):addClass('encabezado')
if not argus.wikidata then
argus.wikidata = QID
if not argus.wikidata then
categorias = categorias..'[[Categoría:Obras no conectadas a Wikidata]]'
end
end
local fila1=div:tag('tr')
local bloque1=fila1:tag('td'):addClass('bloque1')
local bloque2=fila1:tag('td'):addClass('bloque2')
local bloque3=fila1:tag('td'):addClass('bloque3')
bloque2:wikitext('Ediciones '.. (argus['preposición'] or 'de')..
'<br>'.."'''''"..(argus['titulo'] or nombre).."'''''")
local divautor=bloque2:tag('div'):addClass('autor')
autor = argus['autor'] or propiedad('P50') or ''
if autor ~= '' then
divautor:wikitext('por ' .. autor)
end
if argus['más info'] and argus['más info']~= ''then
bloque2:tag('div'):wikitext(argus['más info'])
end
local imagender=bloque3:tag('div'):addClass('imagen')
if argus['imagen2'] and argus['imagen2'] ~= '' then
imagender:wikitext("[[File:"..argus['imagen2'].."|frameless|99999x100px|center]]")
elseif propiedad('p18') then
imagender:wikitext("[[File:"..propiedad('p18',{['uno']='sí'}).."|frameless|99999x100px|"..propiedad('p18',{['calificador']='P2096',['idioma']='es'}).."|center]]")
end
local imagenizq=bloque1:tag('div')
if argus['imagen1'] and argus['imagen1'] ~= '' then
imagenizq:wikitext("[[File:"..argus['imagen1'].."|frameless|99999x100px|center]]")
end
local filaIncipit=div:tag('tr')
local incipit
if propiedad('p1922') then
filaIncipit:tag('td')
incipit=filaIncipit:tag('td'):addClass('incipit')
incipit:wikitext('«'..propiedad('p1922')..'»')
end
---- Enlaces ---
local fila2=div:tag('tr')
local enlaces=fila2:tag('td'):attr('colspan', 3):addClass('enlaces')
argus['wikidata'] = QID
listaenlaces = Enlaces.all(argus)
-- orden = {'eswiki', 'eswikiquote', 'eswikinews', 'commonswiki', 'specieswiki', 'wikidata'}
textoenlaces = Enlaces.formattedlinks(listaenlaces)
enlaces:wikitext(textoenlaces)
html:wikitext(categorias)
return tostring(html)
end
return p