¡Vikidia te necesita!
Actualmente tenemos 6575 artículos. ¡Anímate! a crear los artículos solicitados |
Módulo:Referencia
Ir a la navegación
Ir a la búsqueda
Este módulo permite generar citas de libros, noticias, páginas web, vídeos, etc. Para ello, el módulo devuelve una cadena de texto formateada según un formato reconocido (APA, ISO, Harvard, por ejemplo). Se recomienda usar la plantilla {{Ref}}
para usar las funcionalidades del módulo en los artículos.
Esta documentación se encuentra en la subpágina Módulo:Referencia/doc ( | historial)
Por favor, incluye las categorías a la subpágina /doc. Subpáginas de este módulo.
local z = {}
local modUtilidades = require('Módulo:Utilidades')
local argumentos = modUtilidades.eliminarArgSinValor(mw.getCurrentFrame():getParent().args)
function z.Ref(frame)
-- Tipos de schema.org
if argumentos['tipo'] == 'artículo' then
local tiposchema = 'https://schema.org/Article'
elseif argumentos['tipo'] == 'blog' then
local tiposchema = 'https://schema.org/BlogPosting'
elseif argumentos['tipo'] == 'canción' then
local tiposchema = 'https://schema.org/MusicComposition'
elseif argumentos['tipo'] == 'comentario' then
local tiposchema = 'https://schema.org/Comment'
elseif argumentos['tipo'] == 'documento' then
local tiposchema = 'https://schema.org/DigitalDocument'
elseif argumentos['tipo'] == 'episodio' then
local tiposchema = 'https://schema.org/Episode'
elseif argumentos['tipo'] == 'libro' then
local tiposchema = 'https://schema.org/Book'
elseif argumentos['tipo'] == 'mapa' then
local tiposchema = 'https://schema.org/Map'
elseif argumentos['tipo'] == 'noticia' then
local tiposchema = 'https://schema.org/NewsArticle'
elseif argumentos['tipo'] == 'película' then
local tiposchema = 'https://schema.org/Movie'
elseif argumentos['tipo'] == 'publicación' then
local tiposchema = 'https://schema.org/PublicationIssue'
elseif argumentos['tipo'] == 'red social' then
local tiposchema = 'https://schema.org/SocialMediaPosting'
else
local tiposchema = 'https://schema.org/CreativeWork'
end
-- Referencia
local cite = mw.html.create('cite')
cite:addClass('referencia')
cite:attr('itemscope', 'itemscope')
cite:attr('itemtype', tiposchema)
-- Estilo de referencia
if argumentos['estilo'] == 'harvard' then
cite:wikitext('[[Categoría:Vikidia:Artículos con referencias Harvard]]')
local autor = mw.html.create('span')
autor:attr('itemprop', 'https://schema.org/author')
autor:wikitext(argumentos['autor'])
if argumentos['indirecta'] then
cite:node(autor)
cite:wikitext(' (')
else
cite:wikitext('(')
cite:node(autor)
cite:wikitext(', ')
end
local ano = mw.html.create('span')
ano:attr('itemprop', 'https://schema.org/datePublished')
ano:wikitext(argumentos['fecha'])
cite:node(ano)
if argumentos['páginas'] then
local pags = mw.html.create('span')
pags:wikitext(', ')
pags:wikitext(argumentos['páginas'])
cite:node(pags)
end
cite:wikitext(')')
elseif argumentos['estilo'] == 'ieee' then
return '<span class="error">Referencias IEEE no soportadas</span>'
elseif argumentos['estilo'] == 'iso' then
return '<span class="error">Referencias ISO no soportadas</span>'
elseif argumentos['estilo'] == 'chicago' then
return '<span class="error">Referencias Chicago no soportadas</span>'
elseif argumentos['estilo'] == 'mla' then
return '<span class="error">Referencias MLA no soportadas</span>'
elseif argumentos['estilo'] == 'vancouver' then
return '<span class="error">Referencias Vancouver no soportadas</span>'
else
return '<span class="error">Referencias APA no soportadas</span>'
end
return tostring(cite)
end
return z