Jump to content

Module:Color contrast: Difference between revisions

new styleratio for parsing css style statements
m>Frietjes
No edit summary
m>Frietjes
(new styleratio for parsing css style statements)
Line 148: Line 148:
return args['error'] or '?'
return args['error'] or '?'
end
end
end
function p._styleratio(args)
local style = (args[1] or ''):lower()
local bg, fg = (args[2] or 'white'), (args[3] or 'black')
local slist = mw.text.split(s or '', ';')
for k = 1,#slist do
s = slist[k]
local k,v = s:match( '^[%s*]([^:]-):([^:]-)[%s;]*$' )
k = k or ''
v = v or ''
if (k:match('^[%s]*(background)[%s]*$') or k:match('^[%s]*(background-color)[%s]*$')) then
bg = v
elseif (k:match('^[%s]*(color)[%s]*$')) then
fg = v
end
end
return p._ratio({bg, fg, ['error'] = args['error']})
end
end


Line 157: Line 177:
local args = frame.args[1] and frame.args or frame:getParent().args
local args = frame.args[1] and frame.args or frame:getParent().args
return p._ratio(args)
return p._ratio(args)
end
function p.styleratio(frame)
local args = frame.args[1] and frame.args or frame:getParent().args
return p._styleratio(args)
end
end


Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.