<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://www.bioeticawiki.com/w/index.php?action=history&amp;feed=atom&amp;title=M%C3%B3dulo%3AListas</id>
	<title>Módulo:Listas - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://www.bioeticawiki.com/w/index.php?action=history&amp;feed=atom&amp;title=M%C3%B3dulo%3AListas"/>
	<link rel="alternate" type="text/html" href="https://www.bioeticawiki.com/w/index.php?title=M%C3%B3dulo:Listas&amp;action=history"/>
	<updated>2026-05-05T16:21:00Z</updated>
	<subtitle>Historial de revisiones de esta página en la wiki</subtitle>
	<generator>MediaWiki 1.37.0</generator>
	<entry>
		<id>https://www.bioeticawiki.com/w/index.php?title=M%C3%B3dulo:Listas&amp;diff=103406&amp;oldid=prev</id>
		<title>Fjramiro: 1 revisión importada</title>
		<link rel="alternate" type="text/html" href="https://www.bioeticawiki.com/w/index.php?title=M%C3%B3dulo:Listas&amp;diff=103406&amp;oldid=prev"/>
		<updated>2019-12-28T18:41:15Z</updated>

		<summary type="html">&lt;p&gt;1 revisión importada&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;es&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Revisión anterior&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revisión del 20:41 28 dic 2019&lt;/td&gt;
				&lt;/tr&gt;
&lt;!-- diff cache key w_bioeticawiki:diff::1.12:old-103405:rev-103406 --&gt;
&lt;/table&gt;</summary>
		<author><name>Fjramiro</name></author>
	</entry>
	<entry>
		<id>https://www.bioeticawiki.com/w/index.php?title=M%C3%B3dulo:Listas&amp;diff=103405&amp;oldid=prev</id>
		<title>W&gt;Leoncastro: Arreglo para que en caso de que la última parte comience por «i» o «y», la conjunción final se modifique automáticamente por «e» en lugar de «y» [ejemplo: «Alemania e Italia»]</title>
		<link rel="alternate" type="text/html" href="https://www.bioeticawiki.com/w/index.php?title=M%C3%B3dulo:Listas&amp;diff=103405&amp;oldid=prev"/>
		<updated>2019-05-04T02:30:24Z</updated>

		<summary type="html">&lt;p&gt;Arreglo para que en caso de que la última parte comience por «i» o «y», la conjunción final se modifique automáticamente por «e» en lugar de «y» [ejemplo: «Alemania e Italia»]&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local listas = {}&lt;br /&gt;
local existeCategoria = require('Módulo:Páginas').existeCategoria&lt;br /&gt;
&lt;br /&gt;
-- Función que devuelve los elementos de la lista.&lt;br /&gt;
-- Solo se obtienen los elementos informados.&lt;br /&gt;
function listas.ObtenerElementosLista(frame)&lt;br /&gt;
	local Argumentos = frame.args;&lt;br /&gt;
	local parent     = frame:getParent();&lt;br /&gt;
&lt;br /&gt;
	if not Argumentos[1] then&lt;br /&gt;
		Argumentos = parent.args;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local categoria = Argumentos['categoría'] or ''&lt;br /&gt;
	local ordenar   = Argumentos['ordenar']   or ''&lt;br /&gt;
&lt;br /&gt;
	separador  = frame.args['separador'] or Argumentos['separador']&lt;br /&gt;
	conjuncion = frame.args['conjunción'] or Argumentos['conjunción']&lt;br /&gt;
&lt;br /&gt;
	local ElementosLista = {}&lt;br /&gt;
&lt;br /&gt;
	local i = 1;&lt;br /&gt;
	local j = 0;&lt;br /&gt;
	while Argumentos[i] do&lt;br /&gt;
		local TextoAMostrar&lt;br /&gt;
		if Argumentos[i] and not Argumentos[i]:match('^%s*$') then&lt;br /&gt;
			j = j + 1&lt;br /&gt;
&lt;br /&gt;
			-- Añadir el enlace si no incluye ya uno&lt;br /&gt;
			local enlazar = frame.args.enlazar or parent.args.enlazar&lt;br /&gt;
&lt;br /&gt;
			if mw.ustring.find(Argumentos[i], '%[%[') then&lt;br /&gt;
				enlazar = 'no'&lt;br /&gt;
			end&lt;br /&gt;
&lt;br /&gt;
			if enlazar == 'sí' then&lt;br /&gt;
				-- Desambiguar eliminando el texto ente paréntesis del argumento i-ésimo si es de la forma&lt;br /&gt;
				--   &amp;quot;Texto (lo que sea)&amp;quot;.&lt;br /&gt;
				-- Esto solo se hará si después de los paréntesis no hay nada. Ejemplos:&lt;br /&gt;
				--   Alfonso Albacete (director) --&amp;gt; Alfonso Albacete&lt;br /&gt;
				--   [[Carlos Vera (árbitro de fútbol)|Carlos Vera]] --&amp;gt; [[Carlos Vera (árbitro de fútbol)|Carlos Vera]]&lt;br /&gt;
&lt;br /&gt;
				TextoAMostrar=Argumentos[i]:match('^(.*)%s%(.*%)$') or Argumentos[i]&lt;br /&gt;
&lt;br /&gt;
				--Obtener el espacio de nombres de los argumentos&lt;br /&gt;
				local espacio_nombres = frame.args.nspace or parent.args.nspace or frame.args['espacio de nombres'] or parent.args['espacio de nombres'] or mw.title.getCurrentTitle().nsText&lt;br /&gt;
&lt;br /&gt;
				if espacio_nombres == '' then&lt;br /&gt;
					--Se accede a la función con el argumento espacio_nombres pero está sin informar&lt;br /&gt;
					if Argumentos[i] == TextoAMostrar then&lt;br /&gt;
						ElementosLista[j] = mw.ustring.format('[[%s]]', TextoAMostrar)&lt;br /&gt;
					else&lt;br /&gt;
						ElementosLista[j] = mw.ustring.format('[[%s|%s]]', Argumentos[i], TextoAMostrar)&lt;br /&gt;
					end&lt;br /&gt;
				else&lt;br /&gt;
					--Se accede sin el espacio de nombres (en cuyo caso se toma el espacio de nombres desde global) o informado.&lt;br /&gt;
&lt;br /&gt;
					--Obtener el nombre de la página (eliminando el espacio de nombres si lo tiene). Similar a {{PAGENAME:Argumentos[i]}}&lt;br /&gt;
					--Por ejemplo, si argumentos[i] vale &amp;quot;Plantilla:A&amp;quot; se informa nombrepagina con &amp;quot;A&amp;quot;.&lt;br /&gt;
					local nombrepagina&lt;br /&gt;
&lt;br /&gt;
					local noError, pageObject = pcall(mw.title.new, Argumentos[i])&lt;br /&gt;
&lt;br /&gt;
					if noError then&lt;br /&gt;
						nombrepagina = pageObject.text&lt;br /&gt;
					else&lt;br /&gt;
						nombrepagina = Argumentos[i]&lt;br /&gt;
					end&lt;br /&gt;
&lt;br /&gt;
					-- Enlazar tomando como espacio de nombres el recibido en el argumento o el global.&lt;br /&gt;
					ElementosLista[j] = mw.ustring.format('[[:%s:%s|%s]]', espacio_nombres, nombrepagina, TextoAMostrar)&lt;br /&gt;
				end&lt;br /&gt;
			else&lt;br /&gt;
				TextoAMostrar     = Argumentos[i]&lt;br /&gt;
				ElementosLista[j] = TextoAMostrar&lt;br /&gt;
			end&lt;br /&gt;
&lt;br /&gt;
			-- Añadir el delimitador&lt;br /&gt;
			local delimitador = frame.args.delimitador or parent.args.delimitador or frame.args.delim or parent.args.delim&lt;br /&gt;
&lt;br /&gt;
			if delimitador then&lt;br /&gt;
				ElementosLista[j] = delimitador .. ElementosLista[j] .. delimitador&lt;br /&gt;
			end&lt;br /&gt;
&lt;br /&gt;
			--Añadir la categoría&lt;br /&gt;
			if categoria ~= '' then&lt;br /&gt;
				-- Utilizar argumentos[i] si existe la correspondiente categoría&lt;br /&gt;
				local CategoriaElemento = existeCategoria(categoria:gsub('$1',Argumentos[i]))&lt;br /&gt;
&lt;br /&gt;
				-- Si no existe ver si existe la categoría eliminando el texto entre paréntesis&lt;br /&gt;
				if not CategoriaElemento and TextoAMostrar ~= Argumentos[i] then&lt;br /&gt;
					CategoriaElemento = existeCategoria(categoria:gsub('$1',TextoAMostrar))&lt;br /&gt;
				end&lt;br /&gt;
				if CategoriaElemento then&lt;br /&gt;
					if ordenar == '' then&lt;br /&gt;
						ElementosLista[j] = ElementosLista[j] .. '[[' .. CategoriaElemento .. ']]'&lt;br /&gt;
					else&lt;br /&gt;
						ElementosLista[j] = ElementosLista[j] .. '[[' .. CategoriaElemento .. '|' .. ordenar .. ']]'&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		i = i + 1;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return ElementosLista&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- lista con los elementos separados por comas&lt;br /&gt;
function listas.lista(frame)&lt;br /&gt;
	-- Obtener los elementos de la lista informados.&lt;br /&gt;
	local ElementosLista= listas.ObtenerElementosLista(frame)&lt;br /&gt;
&lt;br /&gt;
	if not ElementosLista[1] then&lt;br /&gt;
		return&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if not separador and not conjuncion then&lt;br /&gt;
		separador  = ','&lt;br /&gt;
		conjuncion = 'y'&lt;br /&gt;
	elseif separador and not conjuncion then&lt;br /&gt;
		conjuncion = separador&lt;br /&gt;
	end&lt;br /&gt;
	-- Corregir el separador&lt;br /&gt;
	if separador == ',' then&lt;br /&gt;
		separador= ', '&lt;br /&gt;
	end&lt;br /&gt;
	-- Corregir la conjunción&lt;br /&gt;
	if conjuncion == 'o' then&lt;br /&gt;
		conjuncion = ' o '&lt;br /&gt;
	elseif conjuncion == 'y' then&lt;br /&gt;
		conjuncion = frame:preprocess(' {{Y-e|{{Desvincular|' .. ElementosLista[#ElementosLista] .. '}}|sin texto}} ') -- ' y '&lt;br /&gt;
	end&lt;br /&gt;
	return mw.text.listToText(ElementosLista, separador, conjuncion)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function listas.listahtml(frame)&lt;br /&gt;
	local parent = frame:getParent();&lt;br /&gt;
&lt;br /&gt;
	-- Obtener los elementos de la lista informados delimitándolos con &lt;br /&gt;
	local ElementosLista= listas.ObtenerElementosLista(frame)&lt;br /&gt;
	if not ElementosLista[1] then&lt;br /&gt;
		return&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Añadir a los elementos de la lista &amp;lt;li&amp;gt; y &amp;lt;/li&amp;gt;&lt;br /&gt;
	local i = 1;&lt;br /&gt;
	while ElementosLista[i] do&lt;br /&gt;
		ElementosLista[i] = '&amp;lt;li&amp;gt;' .. ElementosLista[i] .. '&amp;lt;/li&amp;gt;'&lt;br /&gt;
		i = i + 1;&lt;br /&gt;
	end&lt;br /&gt;
	-- Añadir la clase en su caso&lt;br /&gt;
	local clase = frame.args.clase or parent.args.clase&lt;br /&gt;
	local final = '&amp;lt;ul&amp;gt;' .. table.concat( ElementosLista ) .. '&amp;lt;/ul&amp;gt;'&lt;br /&gt;
	if clase then&lt;br /&gt;
		final = '&amp;lt;div class=&amp;quot;' .. clase ..'&amp;quot;&amp;gt;' .. final .. '&amp;lt;/div&amp;gt;'&lt;br /&gt;
	end&lt;br /&gt;
	return final&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function listas.primero(frame)&lt;br /&gt;
	local ElementosLista= listas.ObtenerElementosLista(frame)&lt;br /&gt;
	if not ElementosLista[1] then&lt;br /&gt;
		return&lt;br /&gt;
	end&lt;br /&gt;
	table.sort( ElementosLista )&lt;br /&gt;
	return ElementosLista[1]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return listas&lt;/div&gt;</summary>
		<author><name>W&gt;Leoncastro</name></author>
	</entry>
</feed>