Difference between revisions of "Module:Flex columns"

From blackwiki
Jump to navigation Jump to search
blackwiki>The Transhumanist
(revert previous edit - it appears to be causing a bug in many portals)
blackwiki>Frietjes
(fix)
Line 19: Line 19:
 
local parent = frame.getParent(frame)
 
local parent = frame.getParent(frame)
 
local output = p._main(parent.args)
 
local output = p._main(parent.args)
return frame:preprocess(output)
+
return frame:extensionTag{ name='templatestyles', args = { src='Flex columns/styles.css'} } .. frame:preprocess(output)
 
end
 
end
  
Line 36: Line 36:
 
ii = ii + 1
 
ii = ii + 1
 
end
 
end
return '<templatestyles src="Template:Flex columns/styles.css" />' .. tostring(container)
+
return tostring(container)
 
end
 
end
  
 
return p
 
return p

Revision as of 23:28, 24 October 2018

Script error: No such 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