Toggle menu
15
236
75
27.7K
Kenshi Wiki
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Usage

Implements {{Flex columns}}.

  • Please be mindful, I changed the original target CSS to be Template:Flex columns/styles.css.
  • I find it good habit to have a selection of ~3 CSS stylesheets, just incase.
  • 1 at the root.
  • 2 at the Template.
  • 3 within the module.

Generally speaking these can be adjusted with some digging into the Module & Template default configs but if it works, move on.


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='Template:Flex columns/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 args['flex'..ii] then
			column:css('flex', args['flex'..ii])
		end
		ii = ii + 1
	end
	return tostring(container)
end

return p
Contents