Module:Flex columns/sandbox

local p = {}

local function setCleanArgs(argsTable) local cleanArgs = {} for key, val in pairs(argsTable) do		if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val ~= '' then cleanArgs[key] = val end else cleanArgs[key] = val end end return cleanArgs end

p.main = function(frame) local parent = frame.getParent(frame) local output = p._main(parent.args) return frame:extensionTag{ name='templatestyles', args = { src='Module:Flex columns/sandbox/styles.css'} } .. frame:preprocess(output) end

p._main = function(_args) local args = setCleanArgs(_args) local ii = 1 local container = mw.html.create('div') :addClass('flex-columns-container' ) while args[ii] do		local column = container:tag('div') :addClass('flex-columns-column' ) :wikitext(args[ii]) if tonumber(args['flex'..ii]) > 0 and tonumber(args['flex'..ii]) <= 3 then -- keep in sync with styles column:addClass('flex-columns-column-'..args['flex'..ii] ) end ii = ii + 1 end return tostring(container) end

return p