https://en.wikipedia.org/w/index.php?action=history&feed=atom&title=Module%3ANavbox_with_columns
Module:Navbox with columns - Revision history
2025-05-30T10:46:21Z
Revision history for this page on the wiki
MediaWiki 1.45.0-wmf.3
https://en.wikipedia.org/w/index.php?title=Module:Navbox_with_columns&diff=1271552371&oldid=prev
Ahecht: don't use sandbox
2025-01-24T15:43:38Z
<p>don't use sandbox</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 15:43, 24 January 2025</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div>-- This module implements {{Navbox with columns}}</div></td>
<td class="diff-marker"></td>
<td style="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;"><div>-- This module implements {{Navbox with columns}}</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><br /></td>
<td class="diff-marker"></td>
<td style="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;"><br /></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="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;"><div>local Navbox = require('Module:Navbox<del style="font-weight: bold; text-decoration: none;">/sandbox</del>')</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="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;"><div>local Navbox = require('Module:Navbox')</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div>return {</div></td>
<td class="diff-marker"></td>
<td style="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;"><div>return {</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div> _navbox = function (frame) return Navbox._withColumns(frame) end,</div></td>
<td class="diff-marker"></td>
<td style="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;"><div> _navbox = function (frame) return Navbox._withColumns(frame) end,</div></td>
</tr>
</table>
Ahecht
https://en.wikipedia.org/w/index.php?title=Module:Navbox_with_columns&diff=1271439312&oldid=prev
Ahecht: Undid revision 1271146036 by Ahecht (talk) -- re-implement consolidated version
2025-01-24T01:46:19Z
<p>Undid revision <a href="/wiki/Special:Diff/1271146036" title="Special:Diff/1271146036">1271146036</a> by <a href="/wiki/Special:Contributions/Ahecht" title="Special:Contributions/Ahecht">Ahecht</a> (<a href="/wiki/User_talk:Ahecht" title="User talk:Ahecht">talk</a>) -- re-implement consolidated version</p>
<a href="//en.wikipedia.org/w/index.php?title=Module:Navbox_with_columns&diff=1271439312&oldid=1271146036">Show changes</a>
Ahecht
https://en.wikipedia.org/w/index.php?title=Module:Navbox_with_columns&diff=1271146036&oldid=prev
Ahecht: Restored revision 1246941271 by Ahecht (talk): Temporarily restore
2025-01-22T19:42:51Z
<p>Restored revision 1246941271 by <a href="/wiki/Special:Contributions/Ahecht" title="Special:Contributions/Ahecht">Ahecht</a> (<a href="/wiki/User_talk:Ahecht" title="User talk:Ahecht">talk</a>): Temporarily restore</p>
<a href="//en.wikipedia.org/w/index.php?title=Module:Navbox_with_columns&diff=1271146036&oldid=1271145138">Show changes</a>
Ahecht
https://en.wikipedia.org/w/index.php?title=Module:Navbox_with_columns&diff=1271145138&oldid=prev
Ahecht: Simplify
2025-01-22T19:38:48Z
<p>Simplify</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 19:38, 22 January 2025</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Line 2:</td>
<td colspan="2" class="diff-lineno">Line 2:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><br /></td>
<td class="diff-marker"></td>
<td style="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;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div>local Navbox = require('Module:Navbox/sandbox')</div></td>
<td class="diff-marker"></td>
<td style="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;"><div>local Navbox = require('Module:Navbox/sandbox')</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker"><a class="mw-diff-movedpara-right" title="Paragraph was moved. Click to jump to old location." href="#movedpara_4_0_lhs">⚫</a></td>
<td style="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;"><div><a name="movedpara_1_0_rhs"></a>return <ins style="font-weight: bold; text-decoration: none;">{</ins></div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="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;"><div>local p = {</div></td>
<td colspan="2" class="diff-empty diff-side-added"></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div> _navbox = function (frame) return Navbox._withColumns(frame) end,</div></td>
<td class="diff-marker"></td>
<td style="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;"><div> _navbox = function (frame) return Navbox._withColumns(frame) end,</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div> navbox = function (frame) return Navbox['with columns'](frame) end</div></td>
<td class="diff-marker"></td>
<td style="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;"><div> navbox = function (frame) return Navbox['with columns'](frame) end</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div>}</div></td>
<td class="diff-marker"></td>
<td style="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;"><div>}</div></td>
</tr>
<tr>
<td class="diff-marker"><a class="mw-diff-movedpara-left" title="Paragraph was moved. Click to jump to new location." href="#movedpara_1_0_rhs">⚫</a></td>
<td style="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;"><div><a name="movedpara_4_0_lhs"></a>return <del style="font-weight: bold; text-decoration: none;">p</del></div></td>
<td colspan="2" class="diff-empty diff-side-added"></td>
</tr>
</table>
Ahecht
https://en.wikipedia.org/w/index.php?title=Module:Navbox_with_columns&diff=1271144588&oldid=prev
Ahecht: Consolidate Module:Navbox, Module:Navbox with columns, and Module:Navbox with collapsible groups per Template talk:Navbox#Revisiting merging Module:Navbox, Module:Navbox with collapsible groups, and Module:Navbox with columns. Feel free to revert if this causes problems.
2025-01-22T19:36:15Z
<p>Consolidate <a href="/wiki/Module:Navbox" title="Module:Navbox">Module:Navbox</a>, <a href="/wiki/Module:Navbox_with_columns" title="Module:Navbox with columns">Module:Navbox with columns</a>, and <a href="/wiki/Module:Navbox_with_collapsible_groups" title="Module:Navbox with collapsible groups">Module:Navbox with collapsible groups</a> per <a href="/wiki/Template_talk:Navbox#Revisiting_merging_Module:Navbox,_Module:Navbox_with_collapsible_groups,_and_Module:Navbox_with_columns" title="Template talk:Navbox">Template talk:Navbox#Revisiting merging Module:Navbox, Module:Navbox with collapsible groups, and Module:Navbox with columns</a>. Feel free to revert if this causes problems.</p>
<a href="//en.wikipedia.org/w/index.php?title=Module:Navbox_with_columns&diff=1271144588&oldid=1246941271">Show changes</a>
Ahecht
https://en.wikipedia.org/w/index.php?title=Module:Navbox_with_columns&diff=1246941271&oldid=prev
Ahecht: Remove code that omitted colspan in the final column (the browser can deal with it). Fix column sorting
2024-09-21T23:29:23Z
<p>Remove code that omitted colspan in the final column (the browser can deal with it). Fix column sorting</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 23:29, 21 September 2024</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Line 101:</td>
<td colspan="2" class="diff-lineno">Line 101:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div> end</div></td>
<td class="diff-marker"></td>
<td style="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;"><div> end</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div> elseif (k:match(cfg.pattern.colheadernum) and v ~= '') then</div></td>
<td class="diff-marker"></td>
<td style="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;"><div> elseif (k:match(cfg.pattern.colheadernum) and v ~= '') then</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="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;"><div> table.insert(colheadernums, k:match(cfg.pattern.colheadernum))</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="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;"><div> table.insert(colheadernums, <ins style="font-weight: bold; text-decoration: none;">tonumber(</ins>k:match(cfg.pattern.colheadernum<ins style="font-weight: bold; text-decoration: none;">)</ins>))</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div> elseif (k:match(cfg.pattern.colnum) and v ~= '') then</div></td>
<td class="diff-marker"></td>
<td style="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;"><div> elseif (k:match(cfg.pattern.colnum) and v ~= '') then</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="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;"><div> table.insert(colnums, k:match(cfg.pattern.colnum))</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="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;"><div> table.insert(colnums, <ins style="font-weight: bold; text-decoration: none;"> tonumber(</ins>k:match(cfg.pattern.colnum<ins style="font-weight: bold; text-decoration: none;">)</ins>))</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div> elseif (k:match(cfg.pattern.colfooternum) and v ~= '') then</div></td>
<td class="diff-marker"></td>
<td style="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;"><div> elseif (k:match(cfg.pattern.colfooternum) and v ~= '') then</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="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;"><div> table.insert(colfooternums, k:match(cfg.pattern.colfooternum))</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="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;"><div> table.insert(colfooternums, <ins style="font-weight: bold; text-decoration: none;"> tonumber(</ins>k:match(cfg.pattern.colfooternum<ins style="font-weight: bold; text-decoration: none;">)</ins>))</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div> end</div></td>
<td class="diff-marker"></td>
<td style="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;"><div> end</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div> end</div></td>
<td class="diff-marker"></td>
<td style="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;"><div> end</div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Line 138:</td>
<td colspan="2" class="diff-lineno">Line 138:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div> pargs[andnum('colheaderstyle', n)] or ''</div></td>
<td class="diff-marker"></td>
<td style="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;"><div> pargs[andnum('colheaderstyle', n)] or ''</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div> }))</div></td>
<td class="diff-marker"></td>
<td style="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;"><div> }))</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="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;"><div> if<del style="font-weight: bold; text-decoration: none;"> (k < #colheadernums) and</del> tonumber(pargs[andnum('colheadercolspan', n)]) then</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="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;"><div> if tonumber(pargs[andnum('colheadercolspan', n)]) then</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div> col:attr('colspan', pargs[andnum('colheadercolspan', n)])</div></td>
<td class="diff-marker"></td>
<td style="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;"><div> col:attr('colspan', pargs[andnum('colheadercolspan', n)])</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div> end</div></td>
<td class="diff-marker"></td>
<td style="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;"><div> end</div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Line 187:</td>
<td colspan="2" class="diff-lineno">Line 187:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div> pargs[andnum('colfooterstyle', n)] or ''</div></td>
<td class="diff-marker"></td>
<td style="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;"><div> pargs[andnum('colfooterstyle', n)] or ''</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div> }))</div></td>
<td class="diff-marker"></td>
<td style="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;"><div> }))</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="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;"><div> if<del style="font-weight: bold; text-decoration: none;"> (k < #colfooternums) and</del> tonumber(pargs[andnum('colfootercolspan', n)]) then</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="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;"><div> if tonumber(pargs[andnum('colfootercolspan', n)]) then</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div> col:attr('colspan', pargs[andnum('colfootercolspan', n)])</div></td>
<td class="diff-marker"></td>
<td style="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;"><div> col:attr('colspan', pargs[andnum('colfootercolspan', n)])</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div> end</div></td>
<td class="diff-marker"></td>
<td style="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;"><div> end</div></td>
</tr>
</table>
Ahecht
https://en.wikipedia.org/w/index.php?title=Module:Navbox_with_columns&diff=1246404678&oldid=prev
Ahecht: Support in-line nesting in columns
2024-09-18T19:10:56Z
<p>Support in-line nesting in columns</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 19:10, 18 September 2024</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Line 37:</td>
<td colspan="2" class="diff-lineno">Line 37:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div>end</div></td>
<td class="diff-marker"></td>
<td style="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;"><div>end</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div> </div></td>
<td class="diff-marker"></td>
<td style="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;"><div> </div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="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;"><div>local function getSubgroup(args, listnum, listText)</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="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;"><div>local function getSubgroup(args, listnum, listText<ins style="font-weight: bold; text-decoration: none;">, prefix</ins>)</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div> local subArgs = {</div></td>
<td class="diff-marker"></td>
<td style="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;"><div> local subArgs = {</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div> [cfg.arg.border] = cfg.keyword.border_subgroup,</div></td>
<td class="diff-marker"></td>
<td style="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;"><div> [cfg.arg.border] = cfg.keyword.border_subgroup,</div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Line 43:</td>
<td colspan="2" class="diff-lineno">Line 43:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div> }</div></td>
<td class="diff-marker"></td>
<td style="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;"><div> }</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div> local hasSubArgs = false</div></td>
<td class="diff-marker"></td>
<td style="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;"><div> local hasSubArgs = false</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="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;"><div> local subgroups = prefix and {prefix} or cfg.keyword.subgroups</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div> for k, v in pairs(args) do</div></td>
<td class="diff-marker"></td>
<td style="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;"><div> for k, v in pairs(args) do</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div> k = tostring(k)</div></td>
<td class="diff-marker"></td>
<td style="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;"><div> k = tostring(k)</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="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;"><div> for _, w in ipairs(<del style="font-weight: bold; text-decoration: none;">cfg.keyword.</del>subgroups) do</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="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;"><div> for _, w in ipairs(subgroups) do</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div> w = w .. listnum .. "_"</div></td>
<td class="diff-marker"></td>
<td style="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;"><div> w = w .. listnum .. "_"</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div> if (#k > #w) and (k:sub(1, #w) == w) then</div></td>
<td class="diff-marker"></td>
<td style="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;"><div> if (#k > #w) and (k:sub(1, #w) == w) then</div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Line 167:</td>
<td colspan="2" class="diff-lineno">Line 168:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div> 'width:' .. (pargs[andnum('colwidth', n)] or pargs[cfg.arg.colwidth] or '10em')</div></td>
<td class="diff-marker"></td>
<td style="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;"><div> 'width:' .. (pargs[andnum('colwidth', n)] or pargs[cfg.arg.colwidth] or '10em')</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div> }))</div></td>
<td class="diff-marker"></td>
<td style="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;"><div> }))</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="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;"><div> <del style="font-weight: bold; text-decoration: none;">col:tag('div'):newline():wikitext(</del>pargs[andnum('col', n)]<del style="font-weight: bold; text-decoration: none;">):newline()</del></div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="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;"><div> <ins style="font-weight: bold; text-decoration: none;">local wt = </ins>pargs[andnum('col', n)]</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="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;"><div> if wt and inArray(cfg.keyword.subgroups, wt) then</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="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;"><div> local prefix = mw.ustring.gsub(cfg.arg.col_and_num,"%%d","")</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="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;"><div> wt = getSubgroup(pargs, n, wt, prefix)</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="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;"><div> end</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="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;"><div> col:tag('div'):newline():wikitext(wt):newline()</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div> end</div></td>
<td class="diff-marker"></td>
<td style="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;"><div> end</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="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;"><div> </div></td>
<td class="diff-marker"></td>
<td style="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;"><div> </div></td>
</tr>
</table>
Ahecht
https://en.wikipedia.org/w/index.php?title=Module:Navbox_with_columns&diff=1246395380&oldid=prev
MusikBot II: Protected "Module:Navbox with columns": High-risk template or module: 24929 transclusions (more info) ([Edit=Require template editor access] (indefinite) [Move=Require template editor access] (indefinite))
2024-09-18T18:00:12Z
<p>Protected "<a href="/wiki/Module:Navbox_with_columns" title="Module:Navbox with columns">Module:Navbox with columns</a>": <a href="/wiki/Wikipedia:High-risk_templates" title="Wikipedia:High-risk templates">High-risk template or module</a>: 24929 transclusions (<a href="/wiki/User:MusikBot_II/TemplateProtector" title="User:MusikBot II/TemplateProtector">more info</a>) ([Edit=Require template editor access] (indefinite) [Move=Require template editor access] (indefinite))</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<tr class="diff-title" lang="en">
<td colspan="1" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td>
<td colspan="1" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 18:00, 18 September 2024</td>
</tr><tr><td colspan="2" class="diff-notice" lang="en"><div class="mw-diff-empty">(No difference)</div>
</td></tr></table>
MusikBot II
https://en.wikipedia.org/w/index.php?title=Module:Navbox_with_columns&diff=1246247109&oldid=prev
Ahecht: Implement Template:Navbox with columns
2024-09-17T20:17:49Z
<p>Implement <a href="/wiki/Template:Navbox_with_columns" title="Template:Navbox with columns">Template:Navbox with columns</a></p>
<p><b>New page</b></p><div>require('strict')<br />
local p = {}<br />
local parentCfg = mw.loadData('Module:Navbox/configuration')<br />
local thisCfg = mw.loadData('Module:Navbox with columns/configuration')<br />
local cfg = {}<br />
for k, v in pairs(thisCfg) do<br />
if type(v) == 'table' then<br />
cfg[k] = {}<br />
if type(parentCfg[k]) == 'table' then<br />
for kk, vv in pairs(parentCfg[k]) do cfg[k][kk] = vv end<br />
end<br />
for kk, vv in pairs(v) do cfg[k][kk] = vv end<br />
end<br />
end<br />
local inArray = require("Module:TableTools").inArray<br />
local getArgs -- lazily initialized<br />
<br />
-- helper functions<br />
local andnum = function(s, n) return string.format(cfg.arg[s..'_and_num'], n) end<br />
<br />
local isblank = function(v) return (v or '') == '' end<br />
<br />
local function concatstrings(s)<br />
local r = table.concat(s, '')<br />
if r:match('^%s*$') then return nil end<br />
return r<br />
end<br />
<br />
local function concatstyles(s)<br />
local r = ''<br />
for _, v in ipairs(s) do<br />
v = mw.text.trim(v, "%s;")<br />
if not isblank(v) then r = r .. v .. ';' end<br />
end<br />
if isblank(r) then return nil end<br />
return r<br />
end<br />
<br />
local function getSubgroup(args, listnum, listText)<br />
local subArgs = {<br />
[cfg.arg.border] = cfg.keyword.border_subgroup,<br />
[cfg.arg.navbar] = cfg.keyword.navbar_plain<br />
}<br />
local hasSubArgs = false<br />
for k, v in pairs(args) do<br />
k = tostring(k)<br />
for _, w in ipairs(cfg.keyword.subgroups) do<br />
w = w .. listnum .. "_"<br />
if (#k > #w) and (k:sub(1, #w) == w) then<br />
subArgs[k:sub(#w + 1)] = v<br />
hasSubArgs = true<br />
end<br />
end<br />
end<br />
return hasSubArgs and p._navbox(subArgs) or listText<br />
end<br />
<br />
-- Main functions<br />
p._navbox = require('Module:Navbox')._navbox<br />
<br />
function p._withColumns(pargs)<br />
-- table for args passed to navbox<br />
local targs = {}<br />
<br />
-- tables of column numbers<br />
local colheadernums = {}<br />
local colnums = {}<br />
local colfooternums = {}<br />
<br />
-- process args<br />
local passthrough = {<br />
[cfg.arg.above]=true,[cfg.arg.aboveclass]=true,[cfg.arg.abovestyle]=true,<br />
[cfg.arg.basestyle]=true,<br />
[cfg.arg.below]=true,[cfg.arg.belowclass]=true,[cfg.arg.belowstyle]=true,<br />
[cfg.arg.bodyclass]=true,<br />
[cfg.arg.evenstyle]=true,<br />
[cfg.arg.groupclass]=true,[cfg.arg.groupstyle]=true,<br />
[cfg.arg.image]=true,[cfg.arg.imageclass]=true,[cfg.arg.imagestyle]=true,<br />
[cfg.arg.imageleft]=true,[cfg.arg.imageleftstyle]=true,<br />
[cfg.arg.listclass]=true,[cfg.arg.liststyle]=true,<br />
[cfg.arg.name]=true,<br />
[cfg.arg.navbar]=true,<br />
[cfg.arg.oddstyle]=true,<br />
[cfg.arg.state]=true,<br />
[cfg.arg.title]=true,[cfg.arg.titleclass]=true,[cfg.arg.titlestyle]=true,<br />
}<br />
for k,v in pairs(pargs) do<br />
if passthrough[k] then<br />
targs[k] = v<br />
elseif type(k) == 'string' then<br />
if k:match(cfg.pattern.listnum) then<br />
local n = k:match(cfg.pattern.listnum)<br />
targs[andnum('liststyle', n + 2)] = pargs[andnum('liststyle', n)]<br />
targs[andnum('group', n + 2)] = pargs[andnum('group', n)]<br />
targs[andnum('groupstyle', n + 2)] = pargs[andnum('groupstyle', n)]<br />
if v and inArray(cfg.keyword.subgroups, v) then<br />
targs[andnum('list', n + 2)] = getSubgroup(pargs, n, v)<br />
else<br />
targs[andnum('list', n + 2)] = v<br />
end<br />
elseif (k:match(cfg.pattern.colheadernum) and v ~= '') then<br />
table.insert(colheadernums, k:match(cfg.pattern.colheadernum))<br />
elseif (k:match(cfg.pattern.colnum) and v ~= '') then<br />
table.insert(colnums, k:match(cfg.pattern.colnum))<br />
elseif (k:match(cfg.pattern.colfooternum) and v ~= '') then<br />
table.insert(colfooternums, k:match(cfg.pattern.colfooternum))<br />
end<br />
end<br />
end<br />
table.sort(colheadernums)<br />
table.sort(colnums)<br />
table.sort(colfooternums)<br />
<br />
-- HTML table for list1<br />
local coltable = mw.html.create( 'table' ):attr('class', 'navbox-columns-table')<br />
local row, col<br />
<br />
local tablestyle = ( (#colheadernums > 0) or (not isblank(pargs[cfg.arg.fullwidth])) )<br />
and 'width:100%'<br />
or 'width:auto; margin-left:auto; margin-right:auto'<br />
<br />
coltable:attr('style', concatstyles({<br />
'border-spacing: 0px; text-align:left',<br />
tablestyle,<br />
pargs[cfg.arg.coltablestyle] or ''<br />
}))<br />
<br />
--- Header row ---<br />
if (#colheadernums > 0) then<br />
row = coltable:tag('tr')<br />
for k, n in ipairs(colheadernums) do<br />
col = row:tag('td'):attr('class', 'navbox-abovebelow')<br />
col:attr('style', concatstyles({<br />
(k > 1) and 'border-left:2px solid #fdfdfd' or '',<br />
'font-weight:bold',<br />
pargs[cfg.arg.colheaderstyle] or '',<br />
pargs[andnum('colheaderstyle', n)] or ''<br />
}))<br />
if (k < #colheadernums) and tonumber(pargs[andnum('colheadercolspan', n)]) then<br />
col:attr('colspan', pargs[andnum('colheadercolspan', n)])<br />
end<br />
col:wikitext(pargs[andnum('colheader', n)])<br />
end<br />
end<br />
<br />
--- Main columns ---<br />
row = coltable:tag('tr'):attr('style', 'vertical-align:top')<br />
for k, n in ipairs(colnums) do<br />
if k == 1 and isblank(pargs[andnum('colheader', 1)])<br />
and isblank(pargs[andnum('colfooter', 1)])<br />
and isblank(pargs[cfg.arg.fullwidth]) then<br />
local nopad = inArray(<br />
{'off', '0', '0em', '0px'},<br />
mw.ustring.gsub(pargs[cfg.arg.padding] or '', '[;%%]', ''))<br />
if not nopad then<br />
row:tag('td'):wikitext('&nbsp;&nbsp;&nbsp;')<br />
:attr('style', 'width:'..(pargs[cfg.arg.padding] or '5em')..';')<br />
end<br />
end<br />
col = row:tag('td'):attr('class', 'navbox-list')<br />
col:attr('style', concatstyles({<br />
(k > 1) and 'border-left:2px solid #fdfdfd' or '',<br />
'padding:0px',<br />
pargs[cfg.arg.colstyle] or '',<br />
((n%2 == 0) and pargs[cfg.arg.evencolstyle] or pargs[cfg.arg.oddcolstyle]) or '',<br />
pargs[andnum('colstyle', n)] or '',<br />
'width:' .. (pargs[andnum('colwidth', n)] or pargs[cfg.arg.colwidth] or '10em')<br />
}))<br />
col:tag('div'):newline():wikitext(pargs[andnum('col', n)]):newline()<br />
end<br />
<br />
--- Footer row ---<br />
if (#colfooternums > 0) then<br />
row = coltable:tag('tr')<br />
for k, n in ipairs(colfooternums) do<br />
col = row:tag('td'):attr('class', 'navbox-abovebelow')<br />
col:attr('style', concatstyles({<br />
(k > 1) and 'border-left:2px solid #fdfdfd' or '',<br />
'font-weight:bold',<br />
pargs[cfg.arg.colfooterstyle] or '',<br />
pargs[andnum('colfooterstyle', n)] or ''<br />
}))<br />
if (k < #colfooternums) and tonumber(pargs[andnum('colfootercolspan', n)]) then<br />
col:attr('colspan', pargs[andnum('colfootercolspan', n)])<br />
end<br />
col:wikitext(pargs[andnum('colfooter', n)])<br />
end<br />
end<br />
<br />
-- assign table to list1<br />
targs[andnum('list', 1)] = tostring(coltable)<br />
if isblank(pargs[andnum('colheader', 1)]) <br />
and isblank(pargs[andnum('col', 1)])<br />
and isblank(pargs[andnum('colfooter', 1)]) then<br />
targs[andnum('list', 1)] = targs[andnum('list', 1)] ..<br />
'[[' .. cfg.pattern.without_first_col .. ']]'<br />
end<br />
<br />
-- Other parameters<br />
targs[cfg.arg.border] = pargs[cfg.arg.border] or pargs[1]<br />
targs[cfg.arg.evenodd] = (not isblank(pargs[cfg.arg.evenodd])) and pargs[cfg.arg.evenodd] or nil<br />
targs[cfg.arg.list1padding] = '0px'<br />
targs[andnum('liststyle', 1)] = 'background:transparent;color:inherit;'<br />
targs[cfg.arg.style] = concatstyles({pargs[cfg.arg.style], pargs[cfg.arg.bodystyle]})<br />
targs[cfg.arg.tracking] = 'no'<br />
<br />
return p._navbox(targs)<br />
end<br />
<br />
-- Template entry points<br />
function p.navbox (frame, boxtype)<br />
local function readArgs(args, prefix)<br />
-- Read the arguments in the order they'll be output in, to make references<br />
-- number in the right order.<br />
local _<br />
_ = args[prefix .. cfg.arg.title]<br />
_ = args[prefix .. cfg.arg.above]<br />
-- Limit this to 20 as covering 'most' cases (that's a SWAG) and because<br />
-- iterator approach won't work here<br />
for i = 1, 20 do<br />
_ = args[prefix .. andnum('group', i)]<br />
if inArray(cfg.keyword.subgroups, args[prefix .. andnum('list', i)]) then<br />
for _, v in ipairs(cfg.keyword.subgroups) do<br />
readArgs(args, prefix .. v .. i .. "_")<br />
end<br />
end<br />
end<br />
_ = args[prefix .. cfg.arg.below]<br />
end<br />
<br />
if not getArgs then<br />
getArgs = require('Module:Arguments').getArgs<br />
end<br />
local args = getArgs(frame, {wrappers = {cfg.pattern[boxtype or 'navbox']}})<br />
readArgs(args, "")<br />
return p['_'..(boxtype or 'navbox')](args)<br />
end<br />
<br />
p['with columns'] = function (frame)<br />
return p.navbox(frame, 'withColumns')<br />
end<br />
<br />
local q = {}<br />
q._navbox = p._withColumns<br />
q.navbox = p['with columns']<br />
return q</div>
Ahecht