Module:Flex columns
![]() | This module is rated as ready for general use. It has reached a mature form and is thought to be relatively bug-free and ready for use wherever appropriate. It is ready to mention on help pages and other Wikipedia resources as an option for new users to learn. To reduce server load and bad output, it should be improved by sandbox testing rather than repeated trial-and-error editing. |
![]() | This Lua module is used on approximately 600 pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages. Consider discussing changes on the talk page before implementing them.
Transclusion count updated automatically (see documentation). |
![]() | This module uses TemplateStyles: |
Usage
Implements {{Flex columns}}
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/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