Módulo:Categoría de autor/pruebas
[crear]
Documentación del 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 prefijos ={ 'Obras', 'Documentos', 'Traducciones', 'Poesías', 'Discursos',
'Sonetos', 'Cuentos', 'Novelas', 'Epístolas', 'Ensayos', 'Artículos', 'Teatro', 'Fábulas',
'Canciones' , 'Odas', 'Romances', 'Villancicos', 'Entremeses', 'Autos Sacramentales',
'Jácaras', 'Mojigangas', 'Décimas' , 'Tangos', 'Decretos', 'Ilustraciones' ,
'Biografías', 'Bulas', 'Encíclicas', 'Tragedias', 'Comedias', 'Idilios', 'Crónicas' }
local Enlaces = require('Módulo:Enlaces')
function p.cat( frame )
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
local titulo = mw.title.getCurrentTitle().baseText
local categoria = ''
local autor=''
local html = mw.html.create() -- cuerpo principal de la plantilla
for i,cadena in ipairs(prefijos) do
if mw.ustring.find(titulo,cadena) then
tipo = cadena
categoria='[[Categoría:'.. cadena ..' por autor]]'
autor=mw.ustring.sub(titulo,mw.ustring.len(cadena) + 4) -- mas 4 por el ' de '
break
end
end
if tipo=='Biografías' then
autor=mw.ustring.sub(titulo,mw.ustring.len(tipo) + 14) -- mas 14 por el ' escritas por '
end
autor = argus[2] or autor --posibilidad de autor explícito cuando es diferente del nombre de la categoría
if not(tipo=='Documentos' or tipo=='Obras' or tipo=='Decretos' or tipo=='Bulas' or tipo=='Encíclicas' or tipo=='Discursos') then
categoria=categoria .. '[[Categoría:Obras de ' .. autor ..'|'..mw.title.getCurrentTitle().text.. ']]'
end
if tipo=='Epístolas' or tipo=='Decretos' or tipo=='Bulas' or tipo=='Encíclicas' or tipo=='Discursos' then
if mw.title.new( 'Documentos de ' .. autor, 'Categoría' ).exists == true then
categoria=categoria .. '[[Categoría:Documentos de ' .. autor ..'|'..mw.title.getCurrentTitle().text.. ']]'
end
end
local div = html:tag('div'):addClass('divgrande')
local celda1= div:tag('div'):addClass('celda1')
local celda2= div:tag('div'):addClass('celda2')
celda1:wikitext('\'\'\'[[Autor:'..autor..'|◄]] Autor: [[Autor:'..autor..'|'..autor..']]\'\'\'')
html:wikitext(categoria)
if argus[1]~=nil then
html:wikitext(frame:preprocess('{{DEFAULTSORT:' .. argus[1] .. '}}'))
else
html:wikitext(frame:preprocess('{{DEFAULTSORT:' .. autor .. '}}'))
end
-- ACÁ PRUEBAS CON ENLACES --
local QID = mw.wikibase.getEntityIdForTitle( 'Autor:'..autor )
local listaenlaces = Enlaces.all(frame, {wikidata = QID})
celda2:wikitext(Enlaces.formattedlinks(listaenlaces))
return tostring(html)
end
return p