<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.rollinglounge.net/w/index.php?action=history&amp;feed=atom&amp;title=Module%3ANavbox_timeline</id>
	<title>Module:Navbox timeline - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.rollinglounge.net/w/index.php?action=history&amp;feed=atom&amp;title=Module%3ANavbox_timeline"/>
	<link rel="alternate" type="text/html" href="https://wiki.rollinglounge.net/w/index.php?title=Module:Navbox_timeline&amp;action=history"/>
	<updated>2026-05-13T20:15:50Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.rollinglounge.net/w/index.php?title=Module:Navbox_timeline&amp;diff=2702&amp;oldid=prev</id>
		<title>AZMindroma: Replaced month text with numbers</title>
		<link rel="alternate" type="text/html" href="https://wiki.rollinglounge.net/w/index.php?title=Module:Navbox_timeline&amp;diff=2702&amp;oldid=prev"/>
		<updated>2025-06-09T17:55:00Z</updated>

		<summary type="html">&lt;p&gt;Replaced month text with numbers&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;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:55, 9 June 2025&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-l19&quot;&gt;Line 19:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 19:&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;-- Get month abbreviation&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;-- Get month abbreviation&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;local function &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;getMonthAbbr&lt;/del&gt;(month)&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;local function &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;getMonthNum&lt;/ins&gt;(month)&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 months = {&#039;Jan&#039;, &#039;Feb&#039;, &#039;Mar&#039;, &#039;Apr&#039;, &#039;May&#039;, &#039;Jun&#039;,&lt;/del&gt;&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;	return &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;tostring(&lt;/ins&gt;month&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;)&lt;/ins&gt;&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;					&#039;Jul&#039;, &#039;Aug&#039;, &#039;Sep&#039;, &#039;Oct&#039;, &#039;Nov&#039;, &#039;Dec&#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;	return &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;months[&lt;/del&gt;month&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;] or &#039;&#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;end&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;end&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&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;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;-- Parse date string (supports YYYY, YYYY-MM, or YYYY-YYYY formats)&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;-- Parse date string (supports YYYY, YYYY-MM, or YYYY-YYYY formats)&lt;/div&gt;&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-l266&quot;&gt;Line 266:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 265:&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;					:cssText(args.monthstyle)&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;					:cssText(args.monthstyle)&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;					:cssText(&amp;#039;width:&amp;#039; .. monthWidth .. &amp;#039;%&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;					:cssText(&amp;#039;width:&amp;#039; .. monthWidth .. &amp;#039;%&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;					:wikitext(&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;getMonthAbbr&lt;/del&gt;(monthNum))&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;					:wikitext(&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;getMonthNum&lt;/ins&gt;(monthNum))&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;div&gt;				yearStart = yearStart + 1&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;				yearStart = yearStart + 1&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key rlwiki:diff:1.41:old-2699:rev-2702:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>AZMindroma</name></author>
	</entry>
	<entry>
		<id>https://wiki.rollinglounge.net/w/index.php?title=Module:Navbox_timeline&amp;diff=2699&amp;oldid=prev</id>
		<title>AZMindroma at 17:49, 9 June 2025</title>
		<link rel="alternate" type="text/html" href="https://wiki.rollinglounge.net/w/index.php?title=Module:Navbox_timeline&amp;diff=2699&amp;oldid=prev"/>
		<updated>2025-06-09T17:49:32Z</updated>

		<summary type="html">&lt;p&gt;&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;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:49, 9 June 2025&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-l354&quot;&gt;Line 354:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 354:&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;	targs.templatestyles = &amp;#039;Module:Navbox timeline/styles.css&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;	targs.templatestyles = &amp;#039;Module:Navbox timeline/styles.css&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;	targs.list1 = tostring(wrapper)&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;	targs.list1 = tostring(wrapper)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	targs.bodyclass = (targs.bodyclass or &#039;&#039;) .. &#039; timeline-container&#039; -- Add this line&lt;/ins&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;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;div&gt;	return navbox(targs)&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;	return navbox(targs)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key rlwiki:diff:1.41:old-2696:rev-2699:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>AZMindroma</name></author>
	</entry>
	<entry>
		<id>https://wiki.rollinglounge.net/w/index.php?title=Module:Navbox_timeline&amp;diff=2696&amp;oldid=prev</id>
		<title>AZMindroma: Attempting to introduce months again</title>
		<link rel="alternate" type="text/html" href="https://wiki.rollinglounge.net/w/index.php?title=Module:Navbox_timeline&amp;diff=2696&amp;oldid=prev"/>
		<updated>2025-06-09T17:21:03Z</updated>

		<summary type="html">&lt;p&gt;Attempting to introduce months again&lt;/p&gt;
&lt;a href=&quot;https://wiki.rollinglounge.net/w/index.php?title=Module:Navbox_timeline&amp;amp;diff=2696&amp;amp;oldid=2437&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>AZMindroma</name></author>
	</entry>
	<entry>
		<id>https://wiki.rollinglounge.net/w/index.php?title=Module:Navbox_timeline&amp;diff=2437&amp;oldid=prev</id>
		<title>AZMindroma at 09:29, 5 June 2025</title>
		<link rel="alternate" type="text/html" href="https://wiki.rollinglounge.net/w/index.php?title=Module:Navbox_timeline&amp;diff=2437&amp;oldid=prev"/>
		<updated>2025-06-05T09:29:28Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://wiki.rollinglounge.net/w/index.php?title=Module:Navbox_timeline&amp;amp;diff=2437&amp;amp;oldid=2436&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>AZMindroma</name></author>
	</entry>
	<entry>
		<id>https://wiki.rollinglounge.net/w/index.php?title=Module:Navbox_timeline&amp;diff=2436&amp;oldid=prev</id>
		<title>AZMindroma at 09:28, 5 June 2025</title>
		<link rel="alternate" type="text/html" href="https://wiki.rollinglounge.net/w/index.php?title=Module:Navbox_timeline&amp;diff=2436&amp;oldid=prev"/>
		<updated>2025-06-05T09:28:07Z</updated>

		<summary type="html">&lt;p&gt;&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;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:28, 5 June 2025&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-l5&quot;&gt;Line 5:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&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 getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs&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 getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs&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 p = {}&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 p = {}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;-- Round a number to the nearest integer&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;local function round(num)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	return math.floor(num + 0.5)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;end&lt;/ins&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;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;-- Convert date string to fractional year for timeline positioning&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;-- Convert date string to fractional year for timeline positioning&lt;/div&gt;&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-l41&quot;&gt;Line 41:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 46:&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;				while date &amp;lt; current do&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;				while date &amp;lt; current do&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 dur = math.min(1/12, current - date) -- 1 month duration in fractional years&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 dur = math.min(1/12, current - date) -- 1 month duration in fractional years&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;					local colspanMonths = math.max(1, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;math.&lt;/del&gt;round(dur * 12))&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;					local colspanMonths = math.max(1, round(dur * 12))&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;div&gt;					row:tag(&amp;#039;td&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;					row:tag(&amp;#039;td&amp;#039;)&lt;/div&gt;&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-l55&quot;&gt;Line 55:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 60:&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;					:addClass(&amp;#039;timeline-blank&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;					:addClass(&amp;#039;timeline-blank&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;					:cssText(args.blankstyle)&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;					:cssText(args.blankstyle)&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;					:attr(&#039;colspan&#039;, math.max(1, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;math.&lt;/del&gt;round(yearDiff)))&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;					:attr(&#039;colspan&#039;, math.max(1, round(yearDiff)))&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;			end&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;			end&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;		else&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;		else&lt;/div&gt;&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-l327&quot;&gt;Line 327:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 332:&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;				if yesno(args.decades) == false and yesno(args.months) ~= false 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;				if yesno(args.decades) == false and yesno(args.months) ~= false then&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;					-- Adjust for months&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;					-- Adjust for months&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;					adjustment = &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;math.&lt;/del&gt;round(adjustment * 12)&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;					adjustment = round(adjustment * 12)&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;				else&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;				else&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;					adjustment = &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;math.&lt;/del&gt;round(adjustment)&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;					adjustment = round(adjustment)&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;				end&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;				end&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 colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l345&quot;&gt;Line 345:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 350:&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;			if yesno(args.decades) == false and yesno(args.months) ~= false 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;			if yesno(args.decades) == false and yesno(args.months) ~= false then&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;				-- Each month is one column&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;				-- Each month is one column&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;				colspan = math.max(1, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;math.&lt;/del&gt;round(colspan * 12))&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;				colspan = math.max(1, round(colspan * 12))&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;			else&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;			else&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;				colspan = math.max(1, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;math.&lt;/del&gt;round(colspan))&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;				colspan = math.max(1, round(colspan))&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;			end&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;			end&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;!-- diff cache key rlwiki:diff:1.41:old-2435:rev-2436:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>AZMindroma</name></author>
	</entry>
	<entry>
		<id>https://wiki.rollinglounge.net/w/index.php?title=Module:Navbox_timeline&amp;diff=2435&amp;oldid=prev</id>
		<title>AZMindroma at 09:25, 5 June 2025</title>
		<link rel="alternate" type="text/html" href="https://wiki.rollinglounge.net/w/index.php?title=Module:Navbox_timeline&amp;diff=2435&amp;oldid=prev"/>
		<updated>2025-06-05T09:25:56Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://wiki.rollinglounge.net/w/index.php?title=Module:Navbox_timeline&amp;amp;diff=2435&amp;amp;oldid=2434&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>AZMindroma</name></author>
	</entry>
	<entry>
		<id>https://wiki.rollinglounge.net/w/index.php?title=Module:Navbox_timeline&amp;diff=2434&amp;oldid=prev</id>
		<title>AZMindroma: Trying out months change (AI)</title>
		<link rel="alternate" type="text/html" href="https://wiki.rollinglounge.net/w/index.php?title=Module:Navbox_timeline&amp;diff=2434&amp;oldid=prev"/>
		<updated>2025-06-05T09:12:25Z</updated>

		<summary type="html">&lt;p&gt;Trying out months change (AI)&lt;/p&gt;
&lt;a href=&quot;https://wiki.rollinglounge.net/w/index.php?title=Module:Navbox_timeline&amp;amp;diff=2434&amp;amp;oldid=2411&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>AZMindroma</name></author>
	</entry>
	<entry>
		<id>https://wiki.rollinglounge.net/w/index.php?title=Module:Navbox_timeline&amp;diff=2411&amp;oldid=prev</id>
		<title>AZMindroma: From Wikipedia (https://en.wikipedia.org/wiki/Module:Navbox_timeline)</title>
		<link rel="alternate" type="text/html" href="https://wiki.rollinglounge.net/w/index.php?title=Module:Navbox_timeline&amp;diff=2411&amp;oldid=prev"/>
		<updated>2025-06-04T20:42:25Z</updated>

		<summary type="html">&lt;p&gt;From Wikipedia (https://en.wikipedia.org/wiki/Module:Navbox_timeline)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;require(&amp;#039;strict&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
local yesno = require(&amp;#039;Module:Yesno&amp;#039;)&lt;br /&gt;
local navbox = require(&amp;#039;Module:Navbox&amp;#039;)._navbox&lt;br /&gt;
local getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
-- Add blank table cells&lt;br /&gt;
local function addBlank(args, row, prev, current)&lt;br /&gt;
	if row and prev &amp;lt; current then&lt;br /&gt;
		if yesno(args.decades) == false then&lt;br /&gt;
			row:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
				:addClass(&amp;#039;timeline-blank&amp;#039;)&lt;br /&gt;
				:cssText(args.blankstyle)&lt;br /&gt;
				:attr(&amp;#039;colspan&amp;#039;, current - prev)&lt;br /&gt;
		else&lt;br /&gt;
			-- Divide the cell up every decade if showing decades at the top&lt;br /&gt;
			local year = prev&lt;br /&gt;
			&lt;br /&gt;
			while year &amp;lt; current do&lt;br /&gt;
				local dur = math.min(10 - year % 10, current - year)&lt;br /&gt;
				&lt;br /&gt;
				row:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
					:addClass(&amp;#039;timeline-blank&amp;#039;)&lt;br /&gt;
					:cssText(args.blankstyle)&lt;br /&gt;
					:attr(&amp;#039;colspan&amp;#039;, dur)&lt;br /&gt;
				&lt;br /&gt;
				year = year + dur&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Get timeline data&lt;br /&gt;
local function timelineInfo(args)&lt;br /&gt;
	local rows = {&lt;br /&gt;
		[1] = {},&lt;br /&gt;
		minYear = math.huge,&lt;br /&gt;
		maxYear = -math.huge,&lt;br /&gt;
		hasLabels = false&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	for num, fullVal in ipairs(args) do&lt;br /&gt;
		local key, val = fullVal:match(&amp;#039;^([a-z]+): *(.*)$&amp;#039;)&lt;br /&gt;
		local cellIndex = #rows[#rows]&lt;br /&gt;
		&lt;br /&gt;
		-- Row data key value pairs&lt;br /&gt;
		if cellIndex == 0 and key then&lt;br /&gt;
			rows[#rows][key] = val&lt;br /&gt;
			&lt;br /&gt;
			-- Record that there are labels&lt;br /&gt;
			if key == &amp;#039;label&amp;#039; then&lt;br /&gt;
				rows.hasLabels = true&lt;br /&gt;
			end&lt;br /&gt;
		-- Data cell key value pairs&lt;br /&gt;
		elseif key then&lt;br /&gt;
			-- Data cell key value pairs&lt;br /&gt;
			rows[#rows][cellIndex][key] = val&lt;br /&gt;
		-- New row&lt;br /&gt;
		elseif fullVal == &amp;#039;&amp;#039; then&lt;br /&gt;
			if next(rows[#rows]) then&lt;br /&gt;
				table.insert(rows, {})&lt;br /&gt;
			end&lt;br /&gt;
		-- Add date to cell with item already and no date&lt;br /&gt;
		elseif cellIndex &amp;gt; 0&lt;br /&gt;
			and rows[#rows][cellIndex].item&lt;br /&gt;
			and not rows[#rows][cellIndex].startYear&lt;br /&gt;
		then&lt;br /&gt;
			local dates = mw.text.split(fullVal, &amp;#039;-&amp;#039;, true)&lt;br /&gt;
			local startYear = tonumber(dates[1])&lt;br /&gt;
			local endYear = tonumber(dates[2]) or tonumber(os.date(&amp;#039;%Y&amp;#039;)) + 1&lt;br /&gt;
			&lt;br /&gt;
			if startYear == nil then&lt;br /&gt;
				error(&amp;#039;Argument &amp;#039; .. num .. &amp;#039; is an invalid time range&amp;#039;, 0)&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			if endYear &amp;lt; startYear then&lt;br /&gt;
				error(&amp;#039;Argument &amp;#039; .. num .. &amp;#039;\&amp;#039;s end year is less than the start year&amp;#039;, 0)&lt;br /&gt;
			end&lt;br /&gt;
&lt;br /&gt;
			rows[#rows][cellIndex].startYear = startYear&lt;br /&gt;
			rows[#rows][cellIndex].endYear = endYear&lt;br /&gt;
&lt;br /&gt;
			if startYear &amp;lt; rows.minYear then&lt;br /&gt;
				rows.minYear = startYear&lt;br /&gt;
			end&lt;br /&gt;
&lt;br /&gt;
			if endYear &amp;gt; rows.maxYear then&lt;br /&gt;
				rows.maxYear = endYear&lt;br /&gt;
			end&lt;br /&gt;
		-- New item&lt;br /&gt;
		else&lt;br /&gt;
			table.insert(rows[#rows], { item = fullVal })&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Add overrides from arguments&lt;br /&gt;
	if args.startoffset then&lt;br /&gt;
		rows.minYear = rows.minYear - tonumber(args.startoffset)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if args.startyear and tonumber(args.startyear) &amp;lt; rows.minYear then&lt;br /&gt;
		rows.minYear = tonumber(args.startyear)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if args.endoffset then&lt;br /&gt;
		rows.maxYear = rows.maxYear + tonumber(args.endoffset)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if args.endyear and tonumber(args.endyear) &amp;gt; rows.maxYear then&lt;br /&gt;
		rows.maxYear = tonumber(args.endyear)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return rows&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Render the date rows&lt;br /&gt;
local function renderDates(args, tbl, rows, invert)&lt;br /&gt;
	local showDecades = yesno(args.decades)&lt;br /&gt;
	local yearRow = tbl:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
		:addClass(&amp;#039;timeline-row&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	-- Create label&lt;br /&gt;
	if args.label or rows.hasLabels then&lt;br /&gt;
		local labelCell = mw.html.create(&amp;#039;th&amp;#039;)&lt;br /&gt;
			:attr(&amp;#039;scope&amp;#039;, &amp;#039;col&amp;#039;)&lt;br /&gt;
			:addClass(&amp;#039;navbox-group timeline-label&amp;#039;)&lt;br /&gt;
			:cssText(args.labelstyle)&lt;br /&gt;
			:attr(&amp;#039;rowspan&amp;#039;, showDecades ~= false and &amp;#039;2&amp;#039; or &amp;#039;1&amp;#039;)&lt;br /&gt;
			:wikitext(args.label or &amp;#039;&amp;#039;)&lt;br /&gt;
			&lt;br /&gt;
		yearRow:node(labelCell)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Create decade row&lt;br /&gt;
	if showDecades ~= false then&lt;br /&gt;
		local decadeRow = tbl:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
			:addClass(&amp;#039;timeline-row&amp;#039;)&lt;br /&gt;
		local year = rows.minYear&lt;br /&gt;
		&lt;br /&gt;
		-- Move decade row &lt;br /&gt;
		if not invert then&lt;br /&gt;
			decadeRow, yearRow = yearRow, decadeRow&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		while year &amp;lt; rows.maxYear do&lt;br /&gt;
			local dur = math.min(10 - year % 10, rows.maxYear - year)&lt;br /&gt;
			&lt;br /&gt;
			decadeRow:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
				:attr(&amp;#039;scope&amp;#039;, &amp;#039;col&amp;#039;)&lt;br /&gt;
				:addClass(&amp;#039;timeline-decade&amp;#039;)&lt;br /&gt;
				:cssText(args.datestyle)&lt;br /&gt;
				:cssText(args.decadestyle)&lt;br /&gt;
				:attr(&amp;#039;colspan&amp;#039;, dur)&lt;br /&gt;
				:wikitext(math.floor(year / 10) .. &amp;#039;0s&amp;#039;)&lt;br /&gt;
			&lt;br /&gt;
			year = year + dur&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Populate year row element&lt;br /&gt;
	local width = 100 / (rows.maxYear - rows.minYear)&lt;br /&gt;
	&lt;br /&gt;
	for i = rows.minYear, rows.maxYear - 1 do&lt;br /&gt;
		yearRow:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
			:attr(&amp;#039;scope&amp;#039;, &amp;#039;col&amp;#039;)&lt;br /&gt;
			:addClass(&amp;#039;timeline-year&amp;#039;)&lt;br /&gt;
			:cssText(args.datestyle)&lt;br /&gt;
			:cssText(args.yearstyle)&lt;br /&gt;
			:cssText(&amp;#039;width:&amp;#039; .. width .. &amp;#039;%&amp;#039;)&lt;br /&gt;
			:wikitext(showDecades == false and i or i % 10)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Render the timeline itself&lt;br /&gt;
local function renderTimeline(args, tbl, rows)&lt;br /&gt;
	local rowElement = nil&lt;br /&gt;
	local rowSuffix = nil&lt;br /&gt;
	local prev = rows.minYear&lt;br /&gt;
	local prevItem = nil&lt;br /&gt;
	local prevLabel = nil&lt;br /&gt;
	local labelSpan = 0&lt;br /&gt;
	&lt;br /&gt;
	for rowNum, row in ipairs(rows) do&lt;br /&gt;
		local rowElement = tbl:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
			:addClass(&amp;#039;timeline-row&amp;#039;)&lt;br /&gt;
		&lt;br /&gt;
		if labelSpan &amp;lt;= 0 and (rows.hasLabels or args.label) then&lt;br /&gt;
			labelSpan = tonumber(row.span) or 1&lt;br /&gt;
			&lt;br /&gt;
			prevLabel = rowElement:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
				:attr(&amp;#039;scope&amp;#039;, &amp;#039;row&amp;#039;)&lt;br /&gt;
				:attr(&amp;#039;rowspan&amp;#039;, labelSpan)&lt;br /&gt;
				:addClass(&amp;#039;navbox-group timeline-label&amp;#039;)&lt;br /&gt;
				:cssText(args.labelstyle)&lt;br /&gt;
				:cssText(row.labelstyle)&lt;br /&gt;
				:wikitext(row.label)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		labelSpan = labelSpan - 1&lt;br /&gt;
		&lt;br /&gt;
		local prevEndYear = rows.minYear&lt;br /&gt;
		local prevItem = nil&lt;br /&gt;
		&lt;br /&gt;
		for cellNum, cell in ipairs(row) do&lt;br /&gt;
			-- Shrink previous item so new item can start at the start year&lt;br /&gt;
			if prevItem and prev &amp;gt; prevEndYear then&lt;br /&gt;
				prevItem:attr(&amp;#039;colspan&amp;#039;, prevItem:getAttr(&amp;#039;colspan&amp;#039;) - prev + prevEndYear);&lt;br /&gt;
			end&lt;br /&gt;
&lt;br /&gt;
			if cell.startYear == nil then&lt;br /&gt;
				error(&amp;#039;Missing timerange for row &amp;#039; .. rowNum .. &amp;#039; cell &amp;#039; .. cellNum, 0)&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			-- Add blanks before the cell&lt;br /&gt;
			addBlank(args, rowElement, prevEndYear, cell.startYear)&lt;br /&gt;
			&lt;br /&gt;
			prevItem = rowElement:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
				:addClass(&amp;#039;timeline-item&amp;#039;)&lt;br /&gt;
				:cssText(args.itemstyle)&lt;br /&gt;
				:cssText(cell.style or &amp;#039;&amp;#039;)&lt;br /&gt;
				:attr(&amp;#039;colspan&amp;#039;, cell.endYear - cell.startYear)&lt;br /&gt;
				:wikitext(cell.item)&lt;br /&gt;
&lt;br /&gt;
			prevEndYear = cell.endYear&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- Add blanks to the end of the row&lt;br /&gt;
		addBlank(args, rowElement, prevEndYear, rows.maxYear)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Remove any extra rowspan from the label&lt;br /&gt;
	if prevLabel and labelSpan &amp;gt; 0 then&lt;br /&gt;
		prevLabel:attr(&amp;#039;rowspan&amp;#039;, prevLabel:getAttr(&amp;#039;rowspan&amp;#039;) - labelSpan);&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local args = getArgs(frame, {&lt;br /&gt;
		removeBlanks = false,&lt;br /&gt;
		wrappers = &amp;#039;Template:Navbox timeline&amp;#039;&lt;br /&gt;
	})&lt;br /&gt;
	local targs = {&lt;br /&gt;
		listpadding = &amp;#039;0&amp;#039;&lt;br /&gt;
	}&lt;br /&gt;
	-- Arguments to passthrough to navbox&lt;br /&gt;
	local passthrough = {&lt;br /&gt;
		&amp;#039;name&amp;#039;, &amp;#039;title&amp;#039;, &amp;#039;above&amp;#039;, &amp;#039;below&amp;#039;, &amp;#039;state&amp;#039;, &amp;#039;navbar&amp;#039;, &amp;#039;border&amp;#039;, &amp;#039;image&amp;#039;,&lt;br /&gt;
		&amp;#039;imageleft&amp;#039;, &amp;#039;style&amp;#039;, &amp;#039;bodystyle&amp;#039;, &amp;#039;style&amp;#039;, &amp;#039;bodystyle&amp;#039;, &amp;#039;basestyle&amp;#039;,&lt;br /&gt;
		&amp;#039;titlestyle&amp;#039;, &amp;#039;abovestyle&amp;#039;, &amp;#039;belowstyle&amp;#039;, &amp;#039;imagestyle&amp;#039;,&lt;br /&gt;
		&amp;#039;imageleftstyle&amp;#039;, &amp;#039;titleclass&amp;#039;, &amp;#039;aboveclass&amp;#039;, &amp;#039;bodyclass&amp;#039;, &amp;#039;belowclass&amp;#039;,&lt;br /&gt;
		&amp;#039;imageclass&amp;#039;&lt;br /&gt;
	}&lt;br /&gt;
	local rows = timelineInfo(args)&lt;br /&gt;
	local wrapper = mw.html.create(&amp;#039;table&amp;#039;)&lt;br /&gt;
		:addClass(&amp;#039;timeline-wrapper notheme&amp;#039;)&lt;br /&gt;
	local tbl = wrapper:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
		:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
			:addClass(&amp;#039;timeline-wrapper-cell&amp;#039;)&lt;br /&gt;
			:tag(&amp;#039;table&amp;#039;)&lt;br /&gt;
				:addClass(&amp;#039;timeline-table&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	renderDates(args, tbl, rows)&lt;br /&gt;
	renderTimeline(args, tbl, rows)&lt;br /&gt;
	&lt;br /&gt;
	if yesno(args.footer) then&lt;br /&gt;
		renderDates(args, tbl, rows, true)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	for _, name in ipairs(passthrough) do &lt;br /&gt;
		targs[name] = args[name]&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	targs.templatestyles = &amp;#039;Module:Navbox timeline/styles.css&amp;#039;&lt;br /&gt;
	targs.list1 = tostring(wrapper)&lt;br /&gt;
	&lt;br /&gt;
	return navbox(targs)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>AZMindroma</name></author>
	</entry>
</feed>