Module:TableGenerator
Documentation for this module may be created at Module:TableGenerator/doc
local p = {}
--<table class="wikitable">
--{{#invoke:YourModuleName|createHtmlTable
--|cols=3
--|onlyBody=true
--|cell_values=[ "Cell 1", "Cell 2", "Cell 3", "Cell 4", "Cell 5", "Cell 6", "Cell 7" ]
--}}
--</table>
--creates
--Cell 1, Cell 2, Cell 3
--Cell 4, Cell 5
function p.generateHtmlTable(frame)
local args = frame.args
local cols = tonumber(args['cols']) or 3
local onlyBody = args['onlyBody'] == 'true'
local cell_values_json = args['cell_values'] or "[]"
local values = json.decode(cell_values_json) -- Decode JSON string
local result = ''
if not onlyBody then
result = result .. '<table class="wikitable">\n'
end
local count = 0
for i, value in ipairs(values) do
if count % cols == 0 then
if count > 0 then
result = result .. ' </tr>\n'
end
result = result .. ' <tr>\n'
end
result = result .. ' <td>' .. value .. '</td>\n'
count = count + 1
end
if count % cols ~= 0 then
result = result .. ' </tr>\n'
end
if not onlyBody then
result = result .. '</table>'
end
return result
end
return p