<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.geministation.com/index.php?action=history&amp;feed=atom&amp;title=Module%3AUpdates</id>
	<title>Module:Updates - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.geministation.com/index.php?action=history&amp;feed=atom&amp;title=Module%3AUpdates"/>
	<link rel="alternate" type="text/html" href="https://wiki.geministation.com/index.php?title=Module:Updates&amp;action=history"/>
	<updated>2026-06-04T08:31:20Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki.geministation.com/index.php?title=Module:Updates&amp;diff=3454&amp;oldid=prev</id>
		<title>Banri: Created page with &quot;local p = {}  local lang = mw.getContentLanguage()  local looporder = { 	{ &#039;December&#039;, 31 }, 	{ &#039;November&#039;, 30 }, 	{ &#039;October&#039;, 31 }, 	{ &#039;September&#039;, 30 }, 	{ &#039;August&#039;, 31 },...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.geministation.com/index.php?title=Module:Updates&amp;diff=3454&amp;oldid=prev"/>
		<updated>2020-03-21T18:50:27Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;local p = {}  local lang = mw.getContentLanguage()  local looporder = { 	{ &amp;#039;December&amp;#039;, 31 }, 	{ &amp;#039;November&amp;#039;, 30 }, 	{ &amp;#039;October&amp;#039;, 31 }, 	{ &amp;#039;September&amp;#039;, 30 }, 	{ &amp;#039;August&amp;#039;, 31 },...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
local lang = mw.getContentLanguage()&lt;br /&gt;
&lt;br /&gt;
local looporder = {&lt;br /&gt;
	{ &amp;#039;December&amp;#039;, 31 },&lt;br /&gt;
	{ &amp;#039;November&amp;#039;, 30 },&lt;br /&gt;
	{ &amp;#039;October&amp;#039;, 31 },&lt;br /&gt;
	{ &amp;#039;September&amp;#039;, 30 },&lt;br /&gt;
	{ &amp;#039;August&amp;#039;, 31 },&lt;br /&gt;
	{ &amp;#039;July&amp;#039;, 31 },&lt;br /&gt;
	{ &amp;#039;June&amp;#039;, 30},&lt;br /&gt;
	{ &amp;#039;May&amp;#039;, 31 },&lt;br /&gt;
	{ &amp;#039;April&amp;#039;, 30 },&lt;br /&gt;
	{ &amp;#039;March&amp;#039;, 31 },&lt;br /&gt;
	{ &amp;#039;February&amp;#039;, 29 },&lt;br /&gt;
	{ &amp;#039;January&amp;#039;, 31 }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function sortFunc(a,b)&lt;br /&gt;
	return a[2] &amp;lt; b[2]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function lookup(cat)&lt;br /&gt;
	local r = mw.getCurrentFrame():preprocess(string.format([=[&lt;br /&gt;
{{#dpl:&lt;br /&gt;
|namespace=Update&lt;br /&gt;
|category=%s&lt;br /&gt;
|include={Update}:date,{Patch Notes}:date,{DevBlog}:date&lt;br /&gt;
|format=,¦UD¦%%PAGE%%@D@,,&lt;br /&gt;
|ordermethod=sortkey&lt;br /&gt;
}}&lt;br /&gt;
]=], cat))&lt;br /&gt;
	local ret = { }&lt;br /&gt;
	local keys = {}&lt;br /&gt;
	for v in mw.text.gsplit(r, &amp;#039;|UD|&amp;#039;, true) do&lt;br /&gt;
		if v:find(&amp;#039;@&amp;#039;) then&lt;br /&gt;
			local u,_d = unpack(mw.text.split(v, &amp;#039;@D@&amp;#039;))&lt;br /&gt;
			u = mw.text.trim(u)&lt;br /&gt;
			u = string.sub(u, 8, -1)&lt;br /&gt;
			_d = mw.text.trim(_d)&lt;br /&gt;
			local y,m,d = unpack(mw.text.split(lang:formatDate(&amp;#039;Y-F-j&amp;#039;, _d), &amp;#039;-&amp;#039;, true))&lt;br /&gt;
			y = tonumber(y)&lt;br /&gt;
			d = tonumber(d)&lt;br /&gt;
			if not ret[y] then&lt;br /&gt;
				ret[y] = {}&lt;br /&gt;
			end&lt;br /&gt;
			if not ret[y][m] then&lt;br /&gt;
				ret[y][m] = {}&lt;br /&gt;
			end&lt;br /&gt;
			if not ret[y][m][d] then&lt;br /&gt;
				ret[y][m][d] = {u}&lt;br /&gt;
			else&lt;br /&gt;
				table.insert(ret[y][m][d], u)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.year(frame)&lt;br /&gt;
	return p._year(frame:getParent().args)&lt;br /&gt;
end&lt;br /&gt;
function p._year(args)&lt;br /&gt;
	local year = args[1] or mw.title.getCurrentTitle().text&lt;br /&gt;
	local data = lookup(year..&amp;#039; updates&amp;#039;)&lt;br /&gt;
	data = data[tonumber(year)]&lt;br /&gt;
	local ret = {}&lt;br /&gt;
	local data_m, data_d&lt;br /&gt;
	for _,m in ipairs(looporder) do&lt;br /&gt;
		data_m = data[m[1]]&lt;br /&gt;
		if data_m then&lt;br /&gt;
			table.insert(ret, &amp;#039;\n\n==&amp;#039;..m[1]..&amp;#039;==&amp;#039;)&lt;br /&gt;
			for d = m[2], 1, -1 do&lt;br /&gt;
				data_d = data_m[d]&lt;br /&gt;
				if data_d then&lt;br /&gt;
					table.insert(ret, string.format(&amp;#039;\n* [[%s %s]]&amp;#039;, tostring(d), m[1]))&lt;br /&gt;
					table.sort(data_d)&lt;br /&gt;
					for _,u in ipairs(data_d) do&lt;br /&gt;
						table.insert(ret, string.format(&amp;#039;\n** [[Update:%s|%s]]&amp;#039;, u, u))&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return mw.text.trim(table.concat(ret, &amp;#039;&amp;#039;))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Banri</name></author>
	</entry>
</feed>