Module:Tree chart
Appearance
![]() | This Lua module is used on approximately 9,900 pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages, or in your own module sandbox. Consider discussing changes on the talk page before implementing them. |
Usage
Implements Template:Tree chart; Full documentation on chart syntax exists at Template:Tree chart/doc
This module uses the mw.html library to create rows of table cells whose borders draw lines to show relationships between elements. When an unnamed parameter matches a key in Module:Tree chart/data, the module will create a block with stylings as defined in the table. Each key in the table has a subtable with 0, 1, or 2 keys of its own: t
for the "top" row and b
for the "bottom row". Any unnamed parameter whose value does not exist in the table will be used to create elements on the chart, and additional named parameters for that value will be looked for.
local p = {}
local SLD = '1px solid black'
local DSH = '1px dashed black'
local DOT = '1px dotted black'
local cells = {
['!b'] = ' ',
['!t'] = '<td rowspan="2" style="border-right: 1px solid black;"><div style="width: 1em; height: 2em;"></div></td><td rowspan="2"><div style="width: 1em; height: 2em;"></div></td>',
['%b'] = '<td style="border-right: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td><td><div style="width: 1em; height: 1em;"></div></td>',
['%t'] = '<td style="border-right: 1px dashed black; border-bottom: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td><td style="border-bottom: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td>',
['\'b'] = '<td><div style="width: 1em; height: 1em;"></div></td>',
['\'t'] = '<td style="border-right: 1px solid black; border-bottom: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td><td rowspan="2"><div style="width: 1em; height: 2em;"></div></td>',
['(b'] = '<td style="border-right: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td>',
['(t'] = '<td style="border-right: 1px solid black; border-bottom: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td><td rowspan="2"><div style="width: 1em; height: 2em;"></div></td>',
[')b'] = '<td><div style="width: 1em; height: 1em;"></div></td>',
[')t'] = '<td rowspan="2" style="border-right: 1px solid black;"><div style="width: 1em; height: 2em;"></div></td><td style="border-bottom: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td>',
['*b'] = '<td style="border-right: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td><td><div style="width: 1em; height: 1em;"></div></td>',
['*t'] = '<td style="border-right: 1px dashed black; border-bottom: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td><td style="border-bottom: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td>',
['+b'] = '<td style="border-right: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td><td><div style="width: 1em; height: 1em;"></div></td>',
['+t'] = '<td style="border-right: 1px solid black; border-bottom: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td><td style="border-bottom: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td>',
[',b'] = '<td style="border-right: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td><td><div style="width: 1em; height: 1em;"></div></td>',
[',t'] = '<td><div style="width: 1em; height: 1em;"></div></td><td style="border-bottom: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td>',
['-b'] = '<td colspan="2"><div style="width: 2em; height: 1em;"></div></td>',
['-t'] = '<td colspan="2" style="border-bottom: 1px solid black;"><div style="width: 2em; height: 1em;"></div></td>',
['.b'] = '<td style="border-right: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td>',
['.t'] = '<td style="border-bottom: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td><td rowspan="2"><div style="width: 1em; height: 2em;"></div></td>',
['7b'] = '<td style="border-right: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td>',
['7t'] = '<td style="border-bottom: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td><td rowspan="2"><div style="width: 1em; height: 2em;"></div></td>',
[':b'] = ' ',
[':t'] = '<td rowspan="2" style="border-right: 1px dashed black;"><div style="width: 1em; height: 2em;"></div></td><td rowspan="2"><div style="width: 1em; height: 2em;"></div></td>',
['Ab'] = '<td colspan="2"><div style="width: 2em; height: 1em;"></div></td>',
['At'] = '<td style="border-right: 1px dashed black; border-bottom: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td><td style="border-bottom: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td>',
['Cb'] = '<td style="border-right: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td>',
['Ct'] = '<td style="border-right: 1px dashed black; border-bottom: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td><td rowspan="2"><div style="width: 1em; height: 2em;"></div></td>',
['Db'] = '<td><div style="width: 1em; height: 1em;"></div></td>',
['Dt'] = '<td rowspan="2" style="border-right: 1px dashed black;"><div style="width: 1em; height: 2em;"></div></td><td style="border-bottom: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td>',
['Fb'] = '<td style="border-right: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td><td><div style="width: 1em; height: 1em;"></div></td>',
['Ft'] = '<td><div style="width: 1em; height: 1em;"></div></td><td style="border-bottom: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td>',
['Gb'] = '<td style="border-right: 1px dotted black;"><div style="width: 1em; height: 1em;"></div></td>',
['Gt'] = '<td style="border-right: 1px dotted black; border-bottom: 1px dotted black;"><div style="width: 1em; height: 1em;"></div></td><td rowspan="2"><div style="width: 1em; height: 2em;"></div></td>',
['Hb'] = '<td><div style="width: 1em; height: 1em;"></div></td>',
['Ht'] = '<td rowspan="2" style="border-right: 1px dotted black;"><div style="width: 1em; height: 2em;"></div></td><td style="border-bottom: 1px dotted black;"><div style="width: 1em; height: 1em;"></div></td>',
['Jb'] = '<td><div style="width: 1em; height: 1em;"></div></td>',
['Jt'] = '<td style="border-right: 1px dashed black; border-bottom: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td><td rowspan="2"><div style="width: 1em; height: 2em;"></div></td>',
['Lb'] = '<td colspan="2"><div style="width: 2em; height: 1em;"></div></td>',
['Lt'] = '<td style="border-right: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td><td style="border-bottom: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td>',
['Mb'] = '<td style="border-right: 1px dotted black;"><div style="width: 1em; height: 1em;"></div></td><td><div style="width: 1em; height: 1em;"></div></td>',
['Mt'] = '<td colspan="2" style="border-bottom: 1px dotted black;"><div style="width: 2em; height: 1em;"></div></td>',
['Pb'] = '<td colspan="2"><div style="width: 2em; height: 1em;"></div></td>',
['Pt'] = '<td colspan="2" style="border-bottom: 1px dotted black;"><div style="width: 2em; height: 1em;"></div></td>',
['Qb'] = '',
['Qt'] = '<td rowspan="2" style="border-right: 1px dotted black;"><div style="width: 1em; height: 2em;"></div></td><td rowspan="2"><div style="width: 1em; height: 2em;"></div></td>',
['Rb'] = '<td style="border-right: 1px dotted black;"><div style="width: 1em; height: 1em;"></div></td><td><div style="width: 1em; height: 1em;"></div></td>',
['Rt'] = '<td style="border-right: 1px dotted black; border-bottom: 1px dotted black;"><div style="width: 1em; height: 1em;"></div></td><td style="border-bottom: 1px dotted black;"><div style="width: 1em; height: 1em;"></div></td>',
['Sb'] = '<td style="border-right: 1px dotted black;"><div style="width: 1em; height: 1em;"></div></td><td><div style="width: 1em; height: 1em;"></div></td>',
['St'] = '<td><div style="width: 1em; height: 1em;"></div></td><td style="border-bottom: 1px dotted black;"><div style="width: 1em; height: 1em;"></div></td>',
['T3b'] = '<td style="border-right: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td>',
['T3t'] = '<td style="border-bottom: 1px dotted black;"><div style="width: 1em; height: 1em;"></div></td><td rowspan="2"><div style="width: 1em; height: 2em;"></div></td>',
['Tb'] = '<td style="border-right: 1px dotted black;"><div style="width: 1em; height: 1em;"></div></td>',
['Tt'] = '<td style="border-bottom: 1px dotted black;"><div style="width: 1em; height: 1em;"></div></td><td rowspan="2"><div style="width: 1em; height: 2em;"></div></td>',
['Vb'] = '<td style="border-right: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td><td><div style="width: 1em; height: 1em;"></div></td>',
['Vt'] = '<td colspan="2" style="border-bottom: 1px dashed black;"><div style="width: 2em; height: 1em;"></div></td>',
['Wb'] = '<td colspan="2"><div style="width: 2em; height: 1em;"></div></td>',
['Wt'] = '<td style="border-right: 1px dotted black; border-bottom: 1px dotted black;"><div style="width: 1em; height: 1em;"></div></td><td style="border-bottom: 1px dotted black;"><div style="width: 1em; height: 1em;"></div></td>',
['Yb'] = '<td colspan="2"><div style="width: 2em; height: 1em;"></div></td>',
['Yt'] = '<td style="border-right: 1px dotted black;"><div style="width: 1em; height: 1em;"></div></td><td style="border-bottom: 1px dotted black;"><div style="width: 1em; height: 1em;"></div></td>',
['Zb'] = '<td><div style="width: 1em; height: 1em;"></div></td>',
['Zt'] = '<td style="border-right: 1px dotted black; border-bottom: 1px dotted black;"><div style="width: 1em; height: 1em;"></div></td><td rowspan="2"><div style="width: 1em; height: 2em;"></div></td>',
['^b'] = '<td colspan="2"><div style="width: 2em; height: 1em;"></div></td>',
['^t'] = '<td style="border-right: 1px solid black; border-bottom: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td><td style="border-bottom: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td>',
['$b'] = ' ',
['$t'] = '<td rowspan="2" colspan="2"><div style="width: 2em; height: 2em;"></div></td>',
['`b'] = '<td colspan="2"><div style="width: 2em; height: 1em;"></div></td>',
['`t'] = '<td style="border-right: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td><td style="border-bottom: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td>',
['a2b'] = '<td style="border-right: 1px dotted black;"><div style="width: 1em; height: 1em;"></div></td><td><div style="width: 1em; height: 1em;"></div></td>',
['a2t'] = '<td style="border-right: 1px dotted black; border-bottom: 1px dashed #000001;"><div style="width: 1em; height: 1em;"></div></td><td style="border-bottom: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td>',
['ab'] = '<td style="border-right: 1px dotted black;"><div style="width: 1em; height: 1em;"></div></td><td><div style="width: 1em; height: 1em;"></div></td>',
['at'] = '<td style="border-right: 1px dotted black; border-bottom: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td><td style="border-bottom: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td>',
['b2b'] = '<td style="border-right: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td><td><div style="width: 1em; height: 1em;"></div></td>',
['b2t'] = '<td style="border-right: 1px dashed black; border-bottom: 1px dotted #000001;"><div style="width: 1em; height: 1em;"></div></td><td style="border-bottom: 1px dotted black;"><div style="width: 1em; height: 1em;"></div></td>',
['b3b'] = '<td style="border-right: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td><td><div style="width: 1em; height: 1em;"></div></td>',
['b3t'] = '<td style="border-right: 1px solid black; border-bottom: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td><td style="border-bottom: 1px dotted black;"><div style="width: 1em; height: 1em;"></div></td>',
['bb'] = '<td style="border-right: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td><td><div style="width: 1em; height: 1em;"></div></td>',
['bt'] = '<td style="border-right: 1px solid black; border-bottom: 1px dotted black;"><div style="width: 1em; height: 1em;"></div></td><td style="border-bottom: 1px dotted black;"><div style="width: 1em; height: 1em;"></div></td>',
['cb'] = '<td style="border-right: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td>',
['ct'] = '<td style="border-right: 1px dashed black; border-bottom: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td><td rowspan="2"><div style="width: 1em; height: 2em;"></div></td>',
['db'] = '<td><div style="width: 1em; height: 1em;"></div></td>',
['dt'] = '<td rowspan="2" style="border-right: 1px dashed black;"><div style="width: 1em; height: 2em;"></div></td><td style="border-bottom: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td>',
['eb'] = '<td style="border-right: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td>',
['et'] = '<td style="border-right: 1px solid black; border-bottom: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td><td rowspan="2"><div style="width: 1em; height: 2em;"></div></td>',
['fb'] = '<td><div style="width: 1em; height: 1em;"></div></td>',
['ft'] = '<td rowspan="2" style="border-right: 1px solid black;"><div style="width: 1em; height: 2em;"></div></td><td style="border-bottom: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td>',
['hb'] = '<td colspan="2"><div style="width: 2em; height: 1em;"></div></td>',
['ht'] = '<td style="border-right: 1px solid black; border-bottom: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td><td style="border-bottom: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td>',
['ib'] = '<td colspan="2"><div style="width: 2em; height: 1em;"></div></td>',
['it'] = '<td style="border-right: 1px dashed black; border-bottom: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td><td style="border-bottom: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td>',
['jb'] = '<td style="border-right: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td><td><div style="width: 1em; height: 1em;"></div></td>',
['jt'] = '<td colspan="2" style="border-bottom: 1px solid black;"><div style="width: 2em; height: 1em;"></div></td>',
['k2b'] = '<td><div style="width: 1em; height: 1em;"></div></td>',
['k2t'] = '<td rowspan="2" style="border-right: 1px dotted black;"><div style="width: 1em; height: 2em;"></div></td><td style="border-bottom: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td>',
['k3b'] = '<td style="border-right: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td><td><div style="width: 1em; height: 1em;"></div></td>',
['k3t'] = '<td style="border-right: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td><td style="border-bottom: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td>',
['kb'] = '<td><div style="width: 1em; height: 1em;"></div></td>',
['kt'] = '<td rowspan="2" style="border-right: 1px dotted black;"><div style="width: 1em; height: 2em;"></div></td><td style="border-bottom: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td>',
['l2b'] = '<td style="border-right: 1px dotted black;"><div style="width: 1em; height: 1em;"></div></td>',
['l2t'] = '<td style="border-right: 1px dotted black; border-bottom: 1px dashed #000001;"><div style="width: 1em; height: 1em;"></div></td><td rowspan="2"><div style="width: 1em; height: 2em;"></div></td>',
['l3b'] = '<td style="border-right: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td>',
['l3t'] = '<td style="border-right: 1px solid black; border-bottom: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td><td rowspan="2"><div style="width: 1em; height: 2em;"></div></td>',
['lb'] = '<td style="border-right: 1px dotted black;"><div style="width: 1em; height: 1em;"></div></td>',
['lt'] = '<td style="border-right: 1px dotted black; border-bottom: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td><td rowspan="2"><div style="width: 1em; height: 2em;"></div></td>',
['m2b'] = '<td style="border-right: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td><td><div style="width: 1em; height: 1em;"></div></td>',
['m2t'] = '<td colspan="2" style="border-bottom: 1px dotted black;"><div style="width: 2em; height: 1em;"></div></td>',
['mb'] = '<td style="border-right: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td><td><div style="width: 1em; height: 1em;"></div></td>',
['mt'] = '<td colspan="2" style="border-bottom: 1px dotted black;"><div style="width: 2em; height: 1em;"></div></td>',
['n2b'] = '<td colspan="2"><div style="width: 2em; height: 1em;"></div></td>',
['n2t'] = '<td style="border-right: 1px dashed black; border-bottom: 1px dotted #000001;"><div style="width: 1em; height: 1em;"></div></td><td style="border-bottom: 1px dotted black;"><div style="width: 1em; height: 1em;"></div></td>',
['nb'] = '<td colspan="2"><div style="width: 2em; height: 1em;"></div></td>',
['nt'] = '<td style="border-right: 1px solid black; border-bottom: 1px dotted black;"><div style="width: 1em; height: 1em;"></div></td><td style="border-bottom: 1px dotted black;"><div style="width: 1em; height: 1em;"></div></td>',
['o2b'] = '<td><div style="width: 1em; height: 1em;"></div></td>',
['o2t'] = '<td rowspan="2" style="border-right: 1px dashed black;"><div style="width: 1em; height: 2em;"></div></td><td style="border-bottom: 1px dotted black;"><div style="width: 1em; height: 1em;"></div></td>',
['ob'] = '<td><div style="width: 1em; height: 1em;"></div></td>',
['ot'] = '<td rowspan="2" style="border-right: 1px solid black;"><div style="width: 1em; height: 2em;"></div></td><td style="border-bottom: 1px dotted black;"><div style="width: 1em; height: 1em;"></div></td>',
['p2b'] = '<td style="border-right: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td>',
['p2t'] = '<td style="border-right: 1px dashed black; border-bottom: 1px dotted #000001;"><div style="width: 1em; height: 1em;"></div></td><td rowspan="2"><div style="width: 1em; height: 2em;"></div></td>',
['pb'] = '<td style="border-right: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td>',
['pt'] = '<td style="border-right: 1px solid black; border-bottom: 1px dotted black;"><div style="width: 1em; height: 1em;"></div></td><td rowspan="2"><div style="width: 1em; height: 2em;"></div></td>',
['q2b'] = '<td colspan="2"><div style="width: 2em; height: 1em;"></div></td>',
['q2t'] = '<td style="border-right: 1px dotted black; border-bottom: 1px dashed #000001;"><div style="width: 1em; height: 1em;"></div></td><td style="border-bottom: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td>',
['qb'] = '<td colspan="2"><div style="width: 2em; height: 1em;"></div></td>',
['qt'] = '<td style="border-right: 1px dotted black; border-bottom: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td><td style="border-bottom: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td>',
['r2b'] = '<td style="border-right: 1px dotted black;"><div style="width: 1em; height: 1em;"></div></td><td><div style="width: 1em; height: 1em;"></div></td>',
['r2t'] = '<td colspan="2" style="border-bottom: 1px dashed black;"><div style="width: 2em; height: 1em;"></div></td>',
['rb'] = '<td style="border-right: 1px dotted black;"><div style="width: 1em; height: 1em;"></div></td><td><div style="width: 1em; height: 1em;"></div></td>',
['rt'] = '<td colspan="2" style="border-bottom: 1px solid black;"><div style="width: 2em; height: 1em;"></div></td>',
['tb'] = '<td style="border-right: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td><td><div style="width: 1em; height: 1em;"></div></td>',
['tt'] = '<td style="border-right: 1px solid black; border-bottom: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td><td style="border-bottom: 1px dashed black;"><div style="width: 1em; height: 1em;"></div></td>',
['vb'] = '<td style="border-right: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td><td><div style="width: 1em; height: 1em;"></div></td>',
['vt'] = '<td colspan="2" style="border-bottom: 1px solid black;"><div style="width: 2em; height: 1em;"></div></td>',
['xb'] = ' ',
['xt'] = ' ',
['yb'] = '<td style="border-right: 1px solid black;"><div style="width: 1em; height: 1em;"></div></td><td><div style="width: 1em; height: 1em;"></div></td>',
['yt'] = '<td colspan="2" style="border-bottom: 1px dashed black;"><div style="width: 2em; height: 1em;"></div></td>',
['~b'] = '<td colspan="2"><div style="width: 2em; height: 1em;"></div></td>',
['~t'] = '<td colspan="2" style="border-bottom: 1px dashed black;"><div style="width: 2em; height: 1em;"></div></td>',
}
function p.main(frame)
local args = frame:getParent().args
local cell_args = {}
for i, v in ipairs(args) do
local w = mw.text.trim(v)
if not w:find('%S') then
w = '$'
end
local cell_x = { }
if cells[w..'t'] then
cell_x.box = nil
cell_x.name = w..'t'
else
cell_x.name = mw.text.trim(v)
local args_v = args[cell_x.name]
if args_v then
cell_x.text = args_v
else
cell_x.text = '{{{'..w..'}}}'
end
cell_x.box = true
cell_x.colspan = args['colspan_'..w] or args.colspan or '6'
cell_x.rowspan = args['rowspan_'..w] or args.rowspan or '2'
cell_x.thick = args['border_'..w] or args.border or '2'
cell_x.css = args['boxstyle_'..w] or args.boxstyle or ''
end
table.insert(cell_args,cell_x)
end
return p._main(cell_args)
end
function p._main(cell_args)
local ret = mw.html.create('tr')
:css({ ['height'] = '1px',
['text-align'] = 'center' })
for i, v in ipairs(cell_args) do
if v.box then
ret:node(make_box(v))
else
ret:wikitext(cells[v.name]) --:node(make_cell(v.name))
end
end
local ret2 = mw.html.create('tr')
:css({ ['height'] = '1px',
['text-align'] = 'center' })
:done()
return tostring(ret:done()) .. tostring(ret2)
end
function make_cell(name)
local props = cells[name]
if not props then
return
end
local ret = ''
for i, v in ipairs(props) do
ret = ret .. tostring(make_tag(v))
end
return ret
end
function make_tag(tbl)
local ret = mw.html.create(tbl.tag)
if tbl.style then
for n, s in pairs(tbl.style) do
ret:css(n,s)
end
end
if tbl.attr then
for n, s in pairs(tbl.attr) do
ret:attr(n,s)
end
end
if tbl.node then
ret:node(make_tag(tbl.node))
end
return ret:done()
end
function make_box(tbl)
local ret = mw.html.create('td')
:attr('colspan',tbl.colspan)
:attr('rowspan',tbl.rowspan)
:css({ ['padding'] = '0.2em',
['border'] = tbl.thick .. 'px solid black' })
:cssText(tbl.css)
:wikitext(tbl.text)
:done()
return ret
end
return p