Module:TableGenerator: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
mNo edit summary |
||
Line 1: | Line 1: | ||
local p = {} | local p = {} | ||
function p. | function p.generateWikiTable(frame) | ||
-- Get the arguments passed to the template | -- Get the arguments passed to the template | ||
local args = frame.args | local args = frame.args | ||
Line 31: | Line 31: | ||
-- Close the table | -- Close the table | ||
result = result .. '|}' | result = result .. '|}' | ||
return result | |||
end | |||
function p.generateHtmlTable(frame) | |||
-- Get the arguments passed to the template | |||
local args = frame.args | |||
local cols = tonumber(args['cols']) or 3 -- Default number of columns is 3 | |||
-- Initialize the HTML table structure | |||
local result = '<table class="wikitable">\n' | |||
local count = 0 | |||
for i, value in ipairs(args) do | |||
-- If the first argument is 'cols', skip it | |||
if i > 1 then | |||
-- If it's the start of a new row | |||
if count % cols == 0 then | |||
result = result .. ' <tr>\n' | |||
end | |||
-- Add the value as a table cell | |||
result = result .. ' <td>' .. value .. '</td>\n' | |||
count = count + 1 | |||
-- Close the row if we reached the end of a column set | |||
if count % cols == 0 then | |||
result = result .. ' </tr>\n' | |||
end | |||
end | |||
end | |||
-- Close any unfilled row | |||
if count % cols ~= 0 then | |||
result = result .. ' </tr>\n' | |||
end | |||
-- Close the table | |||
result = result .. '</table>' | |||
return result | return result |
Revision as of 21:31, 14 September 2024
Documentation for this module may be created at Module:TableGenerator/doc
local p = {}
function p.generateWikiTable(frame)
-- Get the arguments passed to the template
local args = frame.args
local cols = tonumber(args['cols']) or 3 -- Default number of columns is 3
-- Initialize the table structure
local result = '{| class="wikitable"\n'
local count = 0
for i, value in ipairs(args) do
-- If the first argument is 'cols', skip it
if i > 1 then
-- If it's the start of a new row
if count % cols == 0 then
result = result .. '|-\n'
end
-- Add the value as a table cell
result = result .. '| ' .. value .. '\n'
count = count + 1
end
end
-- Close any unfilled row
if count % cols ~= 0 then
result = result .. '|-\n'
end
-- Close the table
result = result .. '|}'
return result
end
function p.generateHtmlTable(frame)
-- Get the arguments passed to the template
local args = frame.args
local cols = tonumber(args['cols']) or 3 -- Default number of columns is 3
-- Initialize the HTML table structure
local result = '<table class="wikitable">\n'
local count = 0
for i, value in ipairs(args) do
-- If the first argument is 'cols', skip it
if i > 1 then
-- If it's the start of a new row
if count % cols == 0 then
result = result .. ' <tr>\n'
end
-- Add the value as a table cell
result = result .. ' <td>' .. value .. '</td>\n'
count = count + 1
-- Close the row if we reached the end of a column set
if count % cols == 0 then
result = result .. ' </tr>\n'
end
end
end
-- Close any unfilled row
if count % cols ~= 0 then
result = result .. ' </tr>\n'
end
-- Close the table
result = result .. '</table>'
return result
end
return p