Views
Actions
Module:Flex columns
From Blue Gold Program Wiki
40x40px | This module is rated as ready for general use. It has reached a mature form and is thought to be 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. |
40px | This Lua module is used on approximately 5,000 pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages, or in your own module sandbox. Consider discussing changes on the talk page before implementing them. |
32px | 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='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