Module:TableGenerator: Difference between revisions

From Deadlock Wiki
Jump to navigation Jump to search
Sur (talk | contribs)
mNo edit summary
Sur (talk | contribs)
mNo edit summary
Line 1: Line 1:
local p = {}
local p = {}


function p.generateTable(frame)
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