Bahaipedia
Bahaipediaدانشنامه بهائی
Menú
Cambios recientes
Haga su pregunta
Página al azar
Categorías
Ayuda en Wikipedia
En otros proyectos
Herramientas
Lo que enlaza aquí
Cambios relacionados
Subir archivo
Páginas especiales
Versión para imprimir
Enlace permanente
Información de la página
Módulo
Discusión
Ver historial
No has accedido
Discusión
Contribuciones
Crear una cuenta
Acceder
Navigation
Navigation
Navegación
Navigation
ナビゲーション
Điều hướng
导航
Navegação
ناوبری
Навигация
Cambios recientes
Haga su pregunta
Página al azar
Categorías
Ayuda en Wikipedia
En otros proyectos
Learn more
Weitere Informationen
Aprender más
En savoir plus
詳しく読む
Tìm hiểu thêm
了解更多
Saiba mais
یاد بگیرید بیشتر
Узнать больше
Fe bahá’í
Bahá’u’lláh
‘Abdu’l-Bahá
Principios bahá’ís
Tools
Werkzeuge
Herramientas
Outils
ツール
Công cụ
工具
Ferramentas
ابزارها
Инструменты
Lo que enlaza aquí
Cambios relacionados
Subir archivo
Páginas especiales
Versión para imprimir
Enlace permanente
Información de la página
Translations
Übersetzungen
Traducciones
Traductions
各言語版
Bản dịch
翻译
Traduções
به زبان‌های دیگر
Переводы

Módulo:Formato texto

De Bahaipedia
Saltar a:navegación, buscar

La documentación para este módulo puede ser creada en Módulo:Formato texto/doc

local z = {}

function z.enCursivas(texto, ref)
	if ref and texto then
		return '<i>' .. texto .. '</i>' .. ref
	elseif texto then
	    return '<i>' .. texto .. '</i>'
	end
end

-- Adaptado de [[:en:Module:String2]], función sentence
function z.enMayusculas(texto)
	if not texto or texto == '' then
		return texto
	end
	
	-- [[hipótesis (método científico)|hipótesis]]
	
	if texto:find("^%[%[[^|]+|[^%]]+%]%]") then
		local b, c = texto:find("|%A*%a") 
		return string.sub(texto, 1, c-1) .. string.upper(string.sub(texto, c, c)) .. string.sub(texto, c+1)
	end
	
	local letterpos = texto:find('%a')
	if letterpos then
		local first = texto:sub(1, letterpos - 1)
		local letter = texto:sub(letterpos, letterpos)
		local rest = texto:sub(letterpos + 1)
		return first .. string.upper(letter) .. rest
	else
		return texto
	end
end

function z.enVersalitas(texto)
	if not texto or texto == '' then
		return texto
	end	
	return '<span style="font-variant:small-caps">' .. texto .. '</span>'
end

function z.enVariasLineas(lista)
	local resultado
	local copia={}
	require('Módulo:Tablas').insertarElementosConValor(lista, copia)
	
	-- Solo devolver algo si hay al menos un elemento
	if copia[1] then
		return table.concat(copia, '<br/>')
	end
end

function z.entreComillas(texto, ref)
	if not texto or texto == '' then
		return texto
	elseif ref and ref ~='' then
		return '«' .. texto .. '»' .. ref
	else 
	    return '«' .. texto .. '»'
	end
end

function z.entreParentesis(texto, calificativo)
	if not texto or texto == '' then
		return
	elseif calificativo and calificativo ~= '' then
	    return texto .. ' (' .. calificativo .. ')'
	else
		return texto
	end
end

function z.separadosPorComa(lista)
	local copia={}
	require('Módulo:Tablas').insertarElementosConValor(lista, copia)
	
	return table.concat(copia, ', ')
end

-- :: Generar un enlace
function z.enlazar(enlace, texto, calificativo)
	local resultado 
	
	if enlace and texto then
		resultado = '[[' .. enlace .. '|' .. texto .. ']]'
	elseif enlace then
		resultado = '[[' .. enlace .. ']]'
	else
		resultado = texto
	end
	
	if resultado and calificativo then
		return resultado .. ' <small>(' .. calificativo .. ')</small>'
	else
		return resultado
	end
end

-- Generar un enlace (implementación extendida)
function z.enlazar2(enlace, opciones)
	if enlace then
		local etiqueta, namespace, tamano, borde, enlace2, pieImagen, debeExistir, solotexto

		if type(opciones) == 'table' then
			etiqueta	= opciones['etiqueta'] or ''
			namespace	= tonumber(opciones['namespace']) or 0
			tamano		= opciones['tamaño'] or '250px'
			borde		= opciones['border'] or opciones['borde']
			enlace2		= opciones['link']
			pieImagen	= opciones['pie']
			debeExistir	= opciones['debe existir'] or opciones['debeExistir'] or opciones['debeexistir']
			solotexto	= opciones['solotexto']
		elseif type(opciones) == 'string' then
			etiqueta = opciones
		elseif type(opciones) == 'number' then
			namespace = opciones
		else
			etiqueta = enlace
			namespace = 0
		end

		local tituloObj = mw.title.new(enlace, namespace) or {}

		local titulo2Obj = {}
		if enlace2 then titulo2Obj= mw.title.new(enlace2, 0) end

		local resultado = {}

		table.insert(resultado, tituloObj.fullText)

		if not debeExistir and namespace ~= 6 and namespace ~= 14 then
			if etiqueta then table.insert(resultado, etiqueta) end
			if calificativo then return '[[' .. prefix .. table.concat(resultado, '|') .. ']]' .. ' <small>(' .. calificativo .. ')</small>' end
			return '[[' .. table.concat(resultado, '|') .. ']]'
		end

		if tituloObj.exists or tituloObj.fileExists then
			-- Archivo:
			if namespace == 6 then
				if solotexto then
					if etiqueta then table.insert(resultado, etiqueta) end
					return '[[:' .. table.concat(resultado, '|') .. ']]'
				end
				
				if tamano then table.insert(resultado, tamano) end
				if borde then table.insert(resultado, 'border') end
				if titulo2Obj.exists then table.insert(resultado, 'link=' .. titulo2Obj.fullText) end
				if etiqueta then table.insert(resultado, etiqueta) end
				if pieImagen then return '[[' .. table.concat(resultado, '|') .. ']]' .. '<br>' .. pieImagen end
				return '[[' .. table.concat(resultado, '|') .. ']]'
			end
			
			-- Categoría:
			if namespace == 14 then
				if solotexto then
					if etiqueta then table.insert(resultado, etiqueta) end
					return '[[:' .. table.concat(resultado, '|') .. ']]'
				end
				return '[[' .. tituloObj.fullText .. ']]'
			end

			-- El resto
			if etiqueta then table.insert(resultado, etiqueta) end
			return '[[' .. table.concat(resultado, '|') .. ']]'

		end

		return etiqueta
	end
end

function z.llamadaDesdeUnaPlantilla(frame)
	local args = frame.args
	
	if args['tipo argumento'] == 'tabla' then
		local tabla = {args[2], args[3], args[4]}
		return z[args[1]](tabla)
	else
		return z[args[1]](args[2], args[3], args[4])
	end
end

return z
Obtenido de «https://es.bahaipedia.org/index.php?title=Módulo:Formato_texto&oldid=94»
Esta página se editó por última vez el 12 feb 2023 a las 09:18.
El contenido está disponible bajo la licencia Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License a menos que se indique lo contrario.
Política de privacidad
Acerca de Bahaipedia
Descargos
Powered by MediaWiki