Module:Navbox/sandbox: Difference between revisions

Content deleted Content added
rm note, prep for main module
sanitize css instead of adding css
Tag: Reverted
Line 79:
~= cfg.pattern.navbox
)
end
 
-- remove unwanted css
local function sanitizeCSS(str)
local disallowed_css = {
'border', -- border
'border%-.+', -- border subproperties
'background', -- background
'background%-.+', -- background subproperties
'box-shadow', -- box-shadow
'padding', -- padding
'padding%-.+', -- padding subproperties
}
local split_rules = mw.text.split(str, ';')
local properties_and_values = {}
for k, v in ipairs(split_rules) do
split_rules[k] = mw.text.trim(v)
properties_and_values[k] = mw.text.split(v, ':')
end
for k, t in ipairs(properties_and_values) do
for _, v in ipairs(disallowed_css) do
if string.match(mw.text.trim(t[1]), v) then
table.remove(split_rules, k)
break -- because we are done with the kth table
end
end
end
 
return table.concat(split_rules, ';')
end
 
Line 86 ⟶ 116:
[cfg.navbar.name] = args[cfg.arg.name],
[cfg.navbar.mini] = 1,
[cfg.navbar.fontstyle] = sanitizeCSS(args[cfg.arg.basestyle] or '') .. ';' ..
(args[cfg.arg.titlestylebasestyle] or '') .. ';' .. (args[cfg.arg.titlestyle] or '')
)
';background:none transparent;border:none;box-shadow:none;padding:0;'
})
end
 
end