Module:Optional style
Appearance
Logic for {{Optional style}}
--[=[
Simple module to construct a style attribute with an undefined number (including
zero) of CSS properties
]=]
local p = {} --p stands for package
local getArgs = require('Module:Arguments').getArgs
--[=[
Construct the string from the given table of property:values
]=]
function p.make_style_string(properties)
local out = ''
local num_processed = 0
for k, v in pairs(properties) do
if k ~= 'style' and v~= '' then
out = out .. k .. ':' .. v .. ';'
end
end
if properties.style ~= nil and properties.style ~= '' then
out = out .. properties.style
end
if out == '' then
return ''
end
return 'style="' .. out .. '"'
end
--[=[
The main entry function from templates
Arguments are taken from both frame and parent argument lists
]=]
function p.optional_style(frame)
local args = getArgs(frame)
return p.make_style_string(args)
end
return p