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&#039;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&amp;diff=1271439312&amp;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&amp;diff=1271146036&amp;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">&#x26AB;</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">&#x26AB;</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&amp;diff=1271144588&amp;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 &lt; #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 &lt; #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 &gt; #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 &gt; #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 &quot;<a href="/wiki/Module:Navbox_with_columns" title="Module:Navbox with columns">Module:Navbox with columns</a>&quot;: <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(&#039;strict&#039;)<br /> local p = {}<br /> local parentCfg = mw.loadData(&#039;Module:Navbox/configuration&#039;)<br /> local thisCfg = mw.loadData(&#039;Module:Navbox with columns/configuration&#039;)<br /> local cfg = {}<br /> for k, v in pairs(thisCfg) do<br /> if type(v) == &#039;table&#039; then<br /> cfg[k] = {}<br /> if type(parentCfg[k]) == &#039;table&#039; 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(&quot;Module:TableTools&quot;).inArray<br /> local getArgs -- lazily initialized<br /> <br /> -- helper functions<br /> local andnum = function(s, n) return string.format(cfg.arg[s..&#039;_and_num&#039;], n) end<br /> <br /> local isblank = function(v) return (v or &#039;&#039;) == &#039;&#039; end<br /> <br /> local function concatstrings(s)<br /> local r = table.concat(s, &#039;&#039;)<br /> if r:match(&#039;^%s*$&#039;) then return nil end<br /> return r<br /> end<br /> <br /> local function concatstyles(s)<br /> local r = &#039;&#039;<br /> for _, v in ipairs(s) do<br /> v = mw.text.trim(v, &quot;%s;&quot;)<br /> if not isblank(v) then r = r .. v .. &#039;;&#039; 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 .. &quot;_&quot;<br /> if (#k &gt; #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(&#039;Module:Navbox&#039;)._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) == &#039;string&#039; then<br /> if k:match(cfg.pattern.listnum) then<br /> local n = k:match(cfg.pattern.listnum)<br /> targs[andnum(&#039;liststyle&#039;, n + 2)] = pargs[andnum(&#039;liststyle&#039;, n)]<br /> targs[andnum(&#039;group&#039;, n + 2)] = pargs[andnum(&#039;group&#039;, n)]<br /> targs[andnum(&#039;groupstyle&#039;, n + 2)] = pargs[andnum(&#039;groupstyle&#039;, n)]<br /> if v and inArray(cfg.keyword.subgroups, v) then<br /> targs[andnum(&#039;list&#039;, n + 2)] = getSubgroup(pargs, n, v)<br /> else<br /> targs[andnum(&#039;list&#039;, n + 2)] = v<br /> end<br /> elseif (k:match(cfg.pattern.colheadernum) and v ~= &#039;&#039;) then<br /> table.insert(colheadernums, k:match(cfg.pattern.colheadernum))<br /> elseif (k:match(cfg.pattern.colnum) and v ~= &#039;&#039;) then<br /> table.insert(colnums, k:match(cfg.pattern.colnum))<br /> elseif (k:match(cfg.pattern.colfooternum) and v ~= &#039;&#039;) 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( &#039;table&#039; ):attr(&#039;class&#039;, &#039;navbox-columns-table&#039;)<br /> local row, col<br /> <br /> local tablestyle = ( (#colheadernums &gt; 0) or (not isblank(pargs[cfg.arg.fullwidth])) )<br /> and &#039;width:100%&#039;<br /> or &#039;width:auto; margin-left:auto; margin-right:auto&#039;<br /> <br /> coltable:attr(&#039;style&#039;, concatstyles({<br /> &#039;border-spacing: 0px; text-align:left&#039;,<br /> tablestyle,<br /> pargs[cfg.arg.coltablestyle] or &#039;&#039;<br /> }))<br /> <br /> --- Header row ---<br /> if (#colheadernums &gt; 0) then<br /> row = coltable:tag(&#039;tr&#039;)<br /> for k, n in ipairs(colheadernums) do<br /> col = row:tag(&#039;td&#039;):attr(&#039;class&#039;, &#039;navbox-abovebelow&#039;)<br /> col:attr(&#039;style&#039;, concatstyles({<br /> (k &gt; 1) and &#039;border-left:2px solid #fdfdfd&#039; or &#039;&#039;,<br /> &#039;font-weight:bold&#039;,<br /> pargs[cfg.arg.colheaderstyle] or &#039;&#039;,<br /> pargs[andnum(&#039;colheaderstyle&#039;, n)] or &#039;&#039;<br /> }))<br /> if (k &lt; #colheadernums) and tonumber(pargs[andnum(&#039;colheadercolspan&#039;, n)]) then<br /> col:attr(&#039;colspan&#039;, pargs[andnum(&#039;colheadercolspan&#039;, n)])<br /> end<br /> col:wikitext(pargs[andnum(&#039;colheader&#039;, n)])<br /> end<br /> end<br /> <br /> --- Main columns ---<br /> row = coltable:tag(&#039;tr&#039;):attr(&#039;style&#039;, &#039;vertical-align:top&#039;)<br /> for k, n in ipairs(colnums) do<br /> if k == 1 and isblank(pargs[andnum(&#039;colheader&#039;, 1)])<br /> and isblank(pargs[andnum(&#039;colfooter&#039;, 1)])<br /> and isblank(pargs[cfg.arg.fullwidth]) then<br /> local nopad = inArray(<br /> {&#039;off&#039;, &#039;0&#039;, &#039;0em&#039;, &#039;0px&#039;},<br /> mw.ustring.gsub(pargs[cfg.arg.padding] or &#039;&#039;, &#039;[;%%]&#039;, &#039;&#039;))<br /> if not nopad then<br /> row:tag(&#039;td&#039;):wikitext(&#039;&amp;nbsp;&amp;nbsp;&amp;nbsp;&#039;)<br /> :attr(&#039;style&#039;, &#039;width:&#039;..(pargs[cfg.arg.padding] or &#039;5em&#039;)..&#039;;&#039;)<br /> end<br /> end<br /> col = row:tag(&#039;td&#039;):attr(&#039;class&#039;, &#039;navbox-list&#039;)<br /> col:attr(&#039;style&#039;, concatstyles({<br /> (k &gt; 1) and &#039;border-left:2px solid #fdfdfd&#039; or &#039;&#039;,<br /> &#039;padding:0px&#039;,<br /> pargs[cfg.arg.colstyle] or &#039;&#039;,<br /> ((n%2 == 0) and pargs[cfg.arg.evencolstyle] or pargs[cfg.arg.oddcolstyle]) or &#039;&#039;,<br /> pargs[andnum(&#039;colstyle&#039;, n)] or &#039;&#039;,<br /> &#039;width:&#039; .. (pargs[andnum(&#039;colwidth&#039;, n)] or pargs[cfg.arg.colwidth] or &#039;10em&#039;)<br /> }))<br /> col:tag(&#039;div&#039;):newline():wikitext(pargs[andnum(&#039;col&#039;, n)]):newline()<br /> end<br /> <br /> --- Footer row ---<br /> if (#colfooternums &gt; 0) then<br /> row = coltable:tag(&#039;tr&#039;)<br /> for k, n in ipairs(colfooternums) do<br /> col = row:tag(&#039;td&#039;):attr(&#039;class&#039;, &#039;navbox-abovebelow&#039;)<br /> col:attr(&#039;style&#039;, concatstyles({<br /> (k &gt; 1) and &#039;border-left:2px solid #fdfdfd&#039; or &#039;&#039;,<br /> &#039;font-weight:bold&#039;,<br /> pargs[cfg.arg.colfooterstyle] or &#039;&#039;,<br /> pargs[andnum(&#039;colfooterstyle&#039;, n)] or &#039;&#039;<br /> }))<br /> if (k &lt; #colfooternums) and tonumber(pargs[andnum(&#039;colfootercolspan&#039;, n)]) then<br /> col:attr(&#039;colspan&#039;, pargs[andnum(&#039;colfootercolspan&#039;, n)])<br /> end<br /> col:wikitext(pargs[andnum(&#039;colfooter&#039;, n)])<br /> end<br /> end<br /> <br /> -- assign table to list1<br /> targs[andnum(&#039;list&#039;, 1)] = tostring(coltable)<br /> if isblank(pargs[andnum(&#039;colheader&#039;, 1)]) <br /> and isblank(pargs[andnum(&#039;col&#039;, 1)])<br /> and isblank(pargs[andnum(&#039;colfooter&#039;, 1)]) then<br /> targs[andnum(&#039;list&#039;, 1)] = targs[andnum(&#039;list&#039;, 1)] ..<br /> &#039;[[&#039; .. cfg.pattern.without_first_col .. &#039;]]&#039;<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] = &#039;0px&#039;<br /> targs[andnum(&#039;liststyle&#039;, 1)] = &#039;background:transparent;color:inherit;&#039;<br /> targs[cfg.arg.style] = concatstyles({pargs[cfg.arg.style], pargs[cfg.arg.bodystyle]})<br /> targs[cfg.arg.tracking] = &#039;no&#039;<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&#039;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 &#039;most&#039; cases (that&#039;s a SWAG) and because<br /> -- iterator approach won&#039;t work here<br /> for i = 1, 20 do<br /> _ = args[prefix .. andnum(&#039;group&#039;, i)]<br /> if inArray(cfg.keyword.subgroups, args[prefix .. andnum(&#039;list&#039;, i)]) then<br /> for _, v in ipairs(cfg.keyword.subgroups) do<br /> readArgs(args, prefix .. v .. i .. &quot;_&quot;)<br /> end<br /> end<br /> end<br /> _ = args[prefix .. cfg.arg.below]<br /> end<br /> <br /> if not getArgs then<br /> getArgs = require(&#039;Module:Arguments&#039;).getArgs<br /> end<br /> local args = getArgs(frame, {wrappers = {cfg.pattern[boxtype or &#039;navbox&#039;]}})<br /> readArgs(args, &quot;&quot;)<br /> return p[&#039;_&#039;..(boxtype or &#039;navbox&#039;)](args)<br /> end<br /> <br /> p[&#039;with columns&#039;] = function (frame)<br /> return p.navbox(frame, &#039;withColumns&#039;)<br /> end<br /> <br /> local q = {}<br /> q._navbox = p._withColumns<br /> q.navbox = p[&#039;with columns&#039;]<br /> return q</div> Ahecht