More actions
Created page with "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:Fle..." |
No edit summary |
||
Line 20: | Line 20: | ||
local output = p._main(parent.args) | local output = p._main(parent.args) | ||
return frame:extensionTag{ | return frame:extensionTag{ | ||
name='templatestyles', args = { src=' | name='templatestyles', args = { src='Template:Flex columns/styles.css'} | ||
} .. frame:preprocess(output) | } .. frame:preprocess(output) | ||
end | end |
Latest revision as of 23:18, 16 February 2025
This module uses TemplateStyles: |
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