<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://wikisp.org/wiki/index.php?action=history&amp;feed=atom&amp;title=M%C3%B3dulo%3AMainpage</id>
	<title>Módulo:Mainpage - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://wikisp.org/wiki/index.php?action=history&amp;feed=atom&amp;title=M%C3%B3dulo%3AMainpage"/>
	<link rel="alternate" type="text/html" href="https://wikisp.org/wiki/index.php?title=M%C3%B3dulo:Mainpage&amp;action=history"/>
	<updated>2026-09-14T05:44:06Z</updated>
	<subtitle>Historial de revisiones de esta página en la wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://wikisp.org/wiki/index.php?title=M%C3%B3dulo:Mainpage&amp;diff=8145&amp;oldid=prev</id>
		<title>Luxbane en 00:01 12 sep 2026</title>
		<link rel="alternate" type="text/html" href="https://wikisp.org/wiki/index.php?title=M%C3%B3dulo:Mainpage&amp;diff=8145&amp;oldid=prev"/>
		<updated>2026-09-12T00:01:23Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&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 00:01 12 sep 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l58&quot;&gt;Línea 58:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 58:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;--- without touching Lua.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;--- without touching Lua.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;local EDIT_TARGETS = {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;local EDIT_TARGETS = {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	{ page = &#039;Module:Mainpage/settings.json&#039;, label = &#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Settings&lt;/del&gt;&#039; },&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	{ page = &#039;Module:Mainpage/settings.json&#039;, label = &#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Configuración&lt;/ins&gt;&#039; },&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Luxbane</name></author>
	</entry>
	<entry>
		<id>https://wikisp.org/wiki/index.php?title=M%C3%B3dulo:Mainpage&amp;diff=8142&amp;oldid=prev</id>
		<title>Luxbane en 23:37 11 sep 2026</title>
		<link rel="alternate" type="text/html" href="https://wikisp.org/wiki/index.php?title=M%C3%B3dulo:Mainpage&amp;diff=8142&amp;oldid=prev"/>
		<updated>2026-09-11T23:37:08Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&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 23:37 11 sep 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l141&quot;&gt;Línea 141:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 141:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	root:wikitext(hero.render({}))&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	root:wikitext(hero.render({}))&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	root:wikitext(highlights.render())&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	root:wikitext(highlights.render())&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	root:wikitext(band(featured.render(), onThisDay.render()))&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	root:wikitext(band(editing.render(), community.renderSupport(), community.renderDiscussion()))&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	root:wikitext(directory.render())&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	root:wikitext(directory.render())&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	root:wikitext(footer())&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	root:wikitext(footer())&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Luxbane</name></author>
	</entry>
	<entry>
		<id>https://wikisp.org/wiki/index.php?title=M%C3%B3dulo:Mainpage&amp;diff=8130&amp;oldid=prev</id>
		<title>Luxbane en 23:12 11 sep 2026</title>
		<link rel="alternate" type="text/html" href="https://wikisp.org/wiki/index.php?title=M%C3%B3dulo:Mainpage&amp;diff=8130&amp;oldid=prev"/>
		<updated>2026-09-11T23:12:01Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&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 23:12 11 sep 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l33&quot;&gt;Línea 33:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 33:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;local community = require(&amp;#039;Module:Mainpage/Community&amp;#039;)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;local community = require(&amp;#039;Module:Mainpage/Community&amp;#039;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;local directory = require(&amp;#039;Module:Mainpage/Directory&amp;#039;)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;local directory = require(&amp;#039;Module:Mainpage/Directory&amp;#039;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;local editing = require(&#039;Module:Mainpage/Editing&#039;)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;local featured = require(&#039;Module:Mainpage/Featured&#039;)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;local hero = require(&amp;#039;Module:Mainpage/Hero&amp;#039;)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;local hero = require(&amp;#039;Module:Mainpage/Hero&amp;#039;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;local highlights = require(&amp;#039;Module:Mainpage/Highlights&amp;#039;)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;local highlights = require(&amp;#039;Module:Mainpage/Highlights&amp;#039;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;local onThisDay = require(&#039;Module:Mainpage/OnThisDay&#039;)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;--- Loaded in this order: the card primitive first, then the grid and hero, then&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;--- Loaded in this order: the card primitive first, then the grid and hero, then&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Luxbane</name></author>
	</entry>
	<entry>
		<id>https://wikisp.org/wiki/index.php?title=M%C3%B3dulo:Mainpage&amp;diff=8114&amp;oldid=prev</id>
		<title>Luxbane: 1 revisión importada</title>
		<link rel="alternate" type="text/html" href="https://wikisp.org/wiki/index.php?title=M%C3%B3dulo:Mainpage&amp;diff=8114&amp;oldid=prev"/>
		<updated>2026-09-11T23:10:03Z</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-interface=&quot;&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;es&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Revisión anterior&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revisión del 23:10 11 sep 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;es&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(Sin diferencias)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Luxbane</name></author>
	</entry>
	<entry>
		<id>https://wikisp.org/wiki/index.php?title=M%C3%B3dulo:Mainpage&amp;diff=8113&amp;oldid=prev</id>
		<title>scw&gt;Alistar Bot: Correct the stylesheet note: the patch card no longer uses CardLua, so only the event card does (via update-page on MediaWiki MCP Server)</title>
		<link rel="alternate" type="text/html" href="https://wikisp.org/wiki/index.php?title=M%C3%B3dulo:Mainpage&amp;diff=8113&amp;oldid=prev"/>
		<updated>2026-08-27T21:28:01Z</updated>

		<summary type="html">&lt;p&gt;Correct the stylesheet note: the patch card no longer uses CardLua, so only the event card does (via update-page on MediaWiki MCP Server)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;require(&amp;#039;strict&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
--- @module Mainpage&lt;br /&gt;
--- Renders the main page.&lt;br /&gt;
---&lt;br /&gt;
--- Everything editors change — the featured article, the running event, the&lt;br /&gt;
--- build chips, the hero, and both link lists — lives in&lt;br /&gt;
--- [[Module:Mainpage/settings.json]]. Nothing on this page needs a module edit&lt;br /&gt;
--- to keep it current, and the foot links straight to it.&lt;br /&gt;
---&lt;br /&gt;
--- LAYOUT CONTRACT. Every band is `.home-band` for its full-bleed ground and&lt;br /&gt;
--- `.home-band__inner` for the measured column inside it, and every band of&lt;br /&gt;
--- cards puts `.home-grid` on that inner element. One twelve-column grid is&lt;br /&gt;
--- shared by all of them, so a card edge in one band lands on the same line as&lt;br /&gt;
--- a card edge in the next. A band that sets its own column ratios breaks that&lt;br /&gt;
--- alignment for every band on the page.&lt;br /&gt;
---&lt;br /&gt;
--- Card spans go on the card itself (`.home-card--read`, `--aside`, `--tall`)&lt;br /&gt;
--- because `grid-column` is a placement property and cannot collide with&lt;br /&gt;
--- Module:CardLua&amp;#039;s own `display` on `.t-card`. A class that sets `display`&lt;br /&gt;
--- must never share an element with `t-card`.&lt;br /&gt;
---&lt;br /&gt;
--- Structure:&lt;br /&gt;
---&lt;br /&gt;
---   hero          full bleed, gadget-loaded artwork&lt;br /&gt;
---   highlights    [ event 8 ][ patch 4 ]&lt;br /&gt;
---   band 1        [ featured 8 ][ on this day 4 ]&lt;br /&gt;
---   band 2        [ editing 8, two rows ][ support 4 ]&lt;br /&gt;
---                                        [ discussion 4 ]&lt;br /&gt;
---   directory     six groups, no card&lt;br /&gt;
---   foot          where to edit what the page says&lt;br /&gt;
&lt;br /&gt;
local community = require(&amp;#039;Module:Mainpage/Community&amp;#039;)&lt;br /&gt;
local directory = require(&amp;#039;Module:Mainpage/Directory&amp;#039;)&lt;br /&gt;
local editing = require(&amp;#039;Module:Mainpage/Editing&amp;#039;)&lt;br /&gt;
local featured = require(&amp;#039;Module:Mainpage/Featured&amp;#039;)&lt;br /&gt;
local hero = require(&amp;#039;Module:Mainpage/Hero&amp;#039;)&lt;br /&gt;
local highlights = require(&amp;#039;Module:Mainpage/Highlights&amp;#039;)&lt;br /&gt;
local onThisDay = require(&amp;#039;Module:Mainpage/OnThisDay&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
--- Loaded in this order: the card primitive first, then the grid and hero, then&lt;br /&gt;
--- the components that sit on the grid, then the ground behind both.&lt;br /&gt;
---&lt;br /&gt;
--- CardLua&amp;#039;s sheet is listed EXPLICITLY rather than left to arrive with a&lt;br /&gt;
--- CardLua call. Six of the seven cards are built here with `.t-card` on a&lt;br /&gt;
--- plain div, so the card surface, border and radius would otherwise depend on&lt;br /&gt;
--- the event card happening to render — and it does not when the settings&lt;br /&gt;
--- carry no event.&lt;br /&gt;
local STYLESHEETS = {&lt;br /&gt;
	&amp;#039;Module:CardLua/styles.css&amp;#039;,&lt;br /&gt;
	&amp;#039;Module:Mainpage/styles.css&amp;#039;,&lt;br /&gt;
	&amp;#039;Module:Mainpage/cards.css&amp;#039;,&lt;br /&gt;
	&amp;#039;Module:Mainpage/ground.css&amp;#039;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
--- Where to go to change what the page says, linked at the foot.&lt;br /&gt;
---&lt;br /&gt;
--- NOT &amp;quot;edit this page&amp;quot;. The page is a single transclusion, so an edit link on&lt;br /&gt;
--- it lands an editor in a file with nothing in it to change. This is the one&lt;br /&gt;
--- surface that holds content, and it covers everything an editor can change&lt;br /&gt;
--- without touching Lua.&lt;br /&gt;
local EDIT_TARGETS = {&lt;br /&gt;
	{ page = &amp;#039;Module:Mainpage/settings.json&amp;#039;, label = &amp;#039;Settings&amp;#039; },&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
--- What loads [[MediaWiki:Gadget-mainpage.js]]. Emitted by the module so the&lt;br /&gt;
--- invocation is self-sufficient: a page that renders this and does not carry&lt;br /&gt;
--- the category gets no lazy artwork, no rolling digits and a clock that never&lt;br /&gt;
--- starts, with nothing on the page to say why.&lt;br /&gt;
local GADGET_CATEGORY = &amp;#039;Pages using main page gadget&amp;#039;&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
--- @param frame mw.frame&lt;br /&gt;
--- @return string&lt;br /&gt;
local function stylesheets(frame)&lt;br /&gt;
	local tags = {}&lt;br /&gt;
	for _, src in ipairs(STYLESHEETS) do&lt;br /&gt;
		tags[#tags + 1] = frame:extensionTag({&lt;br /&gt;
			name = &amp;#039;templatestyles&amp;#039;,&lt;br /&gt;
			args = { src = src },&lt;br /&gt;
		})&lt;br /&gt;
	end&lt;br /&gt;
	return table.concat(tags)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--- One band of cards on the shared grid.&lt;br /&gt;
---&lt;br /&gt;
--- Varargs and not a table: a table would be walked with ipairs, which stops at&lt;br /&gt;
--- the first nil, so a card that declined to render would silently take every&lt;br /&gt;
--- card after it with it. select(&amp;#039;#&amp;#039;) counts the nils.&lt;br /&gt;
---&lt;br /&gt;
--- @param ... string|nil&lt;br /&gt;
--- @return string&lt;br /&gt;
local function band(...)&lt;br /&gt;
	local root = mw.html.create(&amp;#039;div&amp;#039;):addClass(&amp;#039;home-band&amp;#039;):addClass(&amp;#039;home-wiki&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
	local inner = root:tag(&amp;#039;div&amp;#039;):addClass(&amp;#039;home-band__inner&amp;#039;):addClass(&amp;#039;home-grid&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
	for i = 1, select(&amp;#039;#&amp;#039;, ...) do&lt;br /&gt;
		inner:wikitext((select(i, ...)))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return tostring(root)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--- The maintenance affordance at the foot of the page.&lt;br /&gt;
---&lt;br /&gt;
--- External-link syntax because an internal link cannot carry a query string,&lt;br /&gt;
--- and `plainlinks` because the destinations are on this wiki and the arrow&lt;br /&gt;
--- icon would say otherwise.&lt;br /&gt;
---&lt;br /&gt;
--- mw.uri.fullUrl and NOT callParserFunction: `fullurl` is a colon magic word,&lt;br /&gt;
--- registered under the name `fullurl:`, and callParserFunction resolves it as&lt;br /&gt;
--- `fullurl`, which does not exist. mw.uri is the addressable API for this.&lt;br /&gt;
---&lt;br /&gt;
--- @return string&lt;br /&gt;
local function footer()&lt;br /&gt;
	local root = mw.html.create(&amp;#039;div&amp;#039;):addClass(&amp;#039;home-band&amp;#039;):addClass(&amp;#039;home-wiki&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
	local inner = root:tag(&amp;#039;div&amp;#039;):addClass(&amp;#039;home-band__inner&amp;#039;):addClass(&amp;#039;home-foot&amp;#039;):addClass(&amp;#039;plainlinks&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
	for _, target in ipairs(EDIT_TARGETS) do&lt;br /&gt;
		inner&lt;br /&gt;
			:tag(&amp;#039;span&amp;#039;)&lt;br /&gt;
			:wikitext(string.format(&amp;#039;[%s %s]&amp;#039;, tostring(mw.uri.fullUrl(target.page, &amp;#039;action=edit&amp;#039;)), target.label))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return tostring(root)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--- @return string&lt;br /&gt;
function p.render()&lt;br /&gt;
	local frame = mw.getCurrentFrame()&lt;br /&gt;
&lt;br /&gt;
	local root = mw.html.create(&amp;#039;div&amp;#039;):addClass(&amp;#039;home-page&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
	-- Both are empty and painted entirely in CSS: the dot lattice outside the&lt;br /&gt;
	-- tapes, and the tapes themselves. The tape is `position: fixed` and the&lt;br /&gt;
	-- dots are not, so the instrument holds still while the page scrolls past.&lt;br /&gt;
	root:tag(&amp;#039;div&amp;#039;):addClass(&amp;#039;home-sky&amp;#039;)&lt;br /&gt;
	root:tag(&amp;#039;div&amp;#039;):addClass(&amp;#039;home-tape&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
	root:wikitext(hero.render({}))&lt;br /&gt;
	root:wikitext(highlights.render())&lt;br /&gt;
	root:wikitext(band(featured.render(), onThisDay.render()))&lt;br /&gt;
	root:wikitext(band(editing.render(), community.renderSupport(), community.renderDiscussion()))&lt;br /&gt;
	root:wikitext(directory.render())&lt;br /&gt;
	root:wikitext(footer())&lt;br /&gt;
&lt;br /&gt;
	return stylesheets(frame) .. tostring(root) .. string.format(&amp;#039;[[Category:%s]]&amp;#039;, GADGET_CATEGORY)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--- Wikitext entry point. Reached through [[Template:Mainpage]] rather than&lt;br /&gt;
--- invoked directly, so the page that carries it stays one transclusion.&lt;br /&gt;
---&lt;br /&gt;
--- @param frame mw.frame&lt;br /&gt;
--- @return string&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	return p.render()&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--- The hero on its own, for previewing it outside the page. `noscript=yes`&lt;br /&gt;
--- renders it without the gadget&amp;#039;s artwork hook, which is what a reader with&lt;br /&gt;
--- scripts off or Save-Data on receives.&lt;br /&gt;
---&lt;br /&gt;
--- @param frame mw.frame&lt;br /&gt;
--- @return string&lt;br /&gt;
function p.hero(frame)&lt;br /&gt;
	local args = require(&amp;#039;Module:Arguments&amp;#039;).getArgs(frame)&lt;br /&gt;
	local yesno = require(&amp;#039;Module:Yesno&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
	return stylesheets(frame)&lt;br /&gt;
		.. tostring(&lt;br /&gt;
			mw.html&lt;br /&gt;
				.create(&amp;#039;div&amp;#039;)&lt;br /&gt;
				:addClass(&amp;#039;home-page&amp;#039;)&lt;br /&gt;
				:wikitext(hero.render({ lazyArt = yesno(args.noscript, false) ~= true }))&lt;br /&gt;
		)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>scw&gt;Alistar Bot</name></author>
	</entry>
</feed>