Diferencia entre revisiones de «Módulo:Biocitas»

Contenido eliminado Contenido añadido
pruebas primero en test!! lo siento
prueba exitosa
Línea 3:
local Entidad = mw.wikibase.getEntityObject() or '' -- Tabla con los datos en Wikidata de la persona.
--parámetros reconocidos. 1 = vigente, 0 = obsoleto
local params ={['Textotexto']=1,['Obrasobras']=1,['Documentosdocumentos']=1,['Fotofoto']=1,['Wikipediawikipedia']=1,['Wikiquotewikiquote']=1,['Wikinoticiaswikinoticias']=1,['Commonscommons']=1,['Wikispecieswikispecies']=1,['AñoMuerteañomuerte']=1,['SigloMuertesiglomuerte']=1,['AñoNacimientoañonacimiento']=1,['SigloNacimientosiglonacimiento']=1,['Ordenarordenar']=1,['Inicialinicial']=1,['AñosMuerteañosmuerte']=0,['Vivovivo']=1,['Paíspaís']=1}
local categorias = ''
 
Línea 56:
 
--extract year or century
local date = args['Añoaño' .. fieldUpper]
if date == nil then
date = args[field]
Línea 68:
struct.century = computeCenturyFromYear(struct.year)
struct.precision = 9
elseif args['Siglosiglo' .. fieldUpper] ~= nil then
struct.century = tonumber(args['Siglosiglo' .. fieldUpper])
struct.precision = 7
end
Línea 81:
struct.text = date
end
if args['Textotexto' .. fieldUpper] ~= nil then
struct.precision = 0 --we don't know anything
struct.text = args['Texto' .. fieldUpper] .. ' ' .. struct.text
end
if args['Inciertoincierto' .. fieldUpper] ~= nil and struct.text ~= nil then
struct.precision = 0 --we don't know anything
struct.text = args['Incierto' .. fieldUpper] .. ' ' .. struct.text
Línea 103:
local sep = "<span style='display:inline-block; width:2em;'>&nbsp;</span>" --separador de la imagen y el texto
local sitios ={ --esta variable contiene los sitios reconocidos con posibles enlaces, y su nombre técnico
['Wikipediawikipedia']= 'eswiki',
['Wikiquotewikiquote']='eswikiquote',
['Wikinoticiaswikinoticias']='eswikinews',
['Commonscommons']='commonswiki',
['Wikispecieswikispecies']='specieswiki'
}
 
Línea 126:
:wikitext('[[Archivo:'..imagen..'|28px|'..nombre..' logo]]'..sep..texto1..Entidad:getSitelink(sitio)..texto2)
creado = true
elseif sitio =='commonswiki' and propiedad('p373') ~= '' then --categoría en commons
elemento
:wikitext('[[Archivo:'..imagen..'|28px|'..nombre..' logo]]'..sep..texto1..'category:'..propiedad('p373')..texto2)
Línea 267:
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
if v ~= '' then
argus[mw.ustring.lower(k)] = v -- todos los parámetros en minúsculas por defecto:
argus[k] = v
end
end
Línea 292:
 
-- Foto --
if argus['Fotofoto'] ~= '' and argus['Fotofoto'] ~= nil then
foto:wikitext("[[File:"..argus['Fotofoto'].."|frameless|upright]]")
elseif propiedad('p18') ~= '' then
Línea 303:
-- Texto de al medio
if argus['Textotexto'] ~= '' and argus['Textotexto'] ~= nil then
medio:wikitext(argus['Textotexto'])
else
medio:wikitext("Con el parámetro '''''Texto=''''' Puedes incluir la linea de información relativa a sus fechas de nacimiento y defunción así como su lugar. También puedes incluir algún breve apunte.")
Línea 319:
---- Enlaces uno por uno ---
if argus['Obrasobras'] ~= 'none' then --Obras (aparece siempre por defecto a menos que se defina como none)
obrasWS = crearelementolista()
if argus['Obrasobras'] ~= '' and argus['Obrasobras'] ~= nil then
obrasWS
:wikitext("[[Archivo:Wikisource-logo.png|28px|Wikisource logo]]"..sep.."[[:Categoría:Obras literarias de "..argus['Obrasobras'].."|Sus obras literarias]]")
else
obrasWS
Línea 332:
-- crea elementos para el resto de los enlaces
crearelemento(frame,argus,listaenlaces,'Documentosdocumentos','Wikisource-logo.png','[[:Categoría:Documentos de ','|Sus documentos]]')
crearelemento(frame,argus,listaenlaces,'Wikipediawikipedia','Wikipedia-logo-v2-es.svg','[[w:es:','|Biografía]]')
crearelemento(frame,argus,listaenlaces,'Wikiquotewikiquote','Wikiquote-logo-en.png','[[q:es:','|Citas]]')
crearelemento(frame,argus,listaenlaces,'Wikinoticiaswikinoticias','Wikinews-logo-en.png','[[n:es:','|Noticias]]')
crearelemento(frame,argus,listaenlaces,'Commonscommons','Commons-logo.svg','[[commons:','|Multimedia]]')
crearelemento(frame,argus,listaenlaces,'Wikispecieswikispecies','Wikispecies-logo.svg','[[wikispecies:','|Especies descritas]]')
--- Índice de autores ---
Línea 353:
end
---- variables para manejar fechas de muerte y nacimiento
local nacimiento = getDateFromArgs(argus, 'nacimiento', 'Nacimientonacimiento')
local muerte = getDateFromArgs(argus, 'muerte', 'Muertemuerte')
local sexo = propiedad('p21')
local nacimientoWikidata = nil
Línea 419:
anomuerte = getTextForYear(muerte.year)
end
local anosmuerte = argus['AñosMuerteañosmuerte']
if argus['AñoMuerteañomuerte'] ~= '' and argus['AñoMuerteañomuerte'] ~= nil then
anomuerte = argus['AñoMuerteañomuerte']
elseif argus['SigloMuertesiglomuerte'] ~= '' and argus['SigloMuertesiglomuerte'] ~= nil then
anomuerte = (tonumber(argus['SigloMuertesiglomuerte']))*100
end
--artículos sin información de año de muerte
if (argus['Vivovivo']==nil or argus['Vivovivo']=='') and (anomuerte == '' or anomuerte ==nil) and (muerte.century == '' or muerte.century ==nil) then
categorias = categorias..'[[Categoría:Wikisource:Artículos de autores sin información de año de muerte]]'
end
Línea 444:
-- categorías--
categorias=categorias.."[[Categoría:Autores]]"
if argus['Vivovivo'] and mw.ustring.lower(argus['Vivovivo']) ~= 'no' then
categorias=categorias.."[[Categoría:Personas vivas]]"
end
-- categorizar por país: primera prioridad la tienen
if argus['Paíspaís'] ~= nil and argus['Paíspaís'] ~='' then
categorias=categorias.."[[Categoría:Autores "..frame:preprocess("{{gentilicio|"..argus['Paíspaís'].."|mp}}").."]]"
else
argus['Paíspaís'] = propiedad('P27',{['conjunción']=','})
if argus['Paíspaís'] ~= nil and argus['Paíspaís'] ~='' then
for _,v in ipairs(mw.text.split(argus['Paíspaís'], '[,]')) do --el módulo Wikidata entrega la información en palabras separadas por coma y por "y". Esto convierte esa información en una tabla y itera en sus ítems (para autores con más de una nacionalidad)
--categoría Autores por país: usa plantilla {{gentilicio}}
categorias=categorias.."[[Categoría:Autores "..frame:preprocess("{{gentilicio|"..v.."|mp}}").."]]"
Línea 475:
 
-- Ordenar e Iniciales--
if argus['Ordenarordenar'] ~= nil then
if argus['Inicialinicial'] == nil then
argus['Inicialinicial'] = string.sub(argus['Ordenarordenar'], 1, 1) --Si no está especificada la inicial, la saca de la primera letra de la llave de ordenado.
end
html:wikitext(frame:preprocess('{{DEFAULTSORT:' .. argus['Ordenarordenar'] .. '}}'))
categorias=categorias..'[[Categoría:Autores-'..argus['Inicialinicial']..']]' --categoría Autores-X
else
html:wikitext(errorMessage("El parámetro «|Ordenar=» es obligatorio"))