Content deleted Content added
lower |
sync |
||
(18 intermediate revisions by 4 users not shown) | |||
Line 6:
local p = {}
local data_module = "Module:College color/data
local function stripwhitespace(text)
return text:match("^%s*(.-)%s*$")
local function ucfirst(s)
local first = s:sub(1, 1)
local others = s:sub(2, -1)
return first:upper() .. others
end
local function bordercss(c, w)
Line 117 ⟶ 122:
local color = '#' .. (colors[3] or colors[2] or '')
if fontcolor and fontcolor == 'auto' then
-- compute the luminosity of the background
local lum = color2lum(colors[1] or '')
-- compute the contrast with white and black
local wcontrast = (1 + 0.05)/(lum + 0.05)
local bcontrast = (lum + 0.05)/(0 + 0.05)
-- select the text color with the best contrast
if( bcontrast > wcontrast + 1.25 ) then
fontcolor = '#000000'
fontcolor = '#FFFFFF'
end
local style = 'background-color:#' .. (colors[1] or '') .. ';color:' .. (fontcolor or color) .. ';'
-- remove the border if it's nearly white
Line 134 ⟶ 152:
local color = '#' .. (colors[1] or '')
if fontcolor and fontcolor == 'auto' then
-- compute the luminosity of the background
local lum = color2lum(colors[3] or colors[2] or '')
-- compute the contrast with white and black
local wcontrast = (1 + 0.05)/(lum + 0.05)
local bcontrast = (lum + 0.05)/(0 + 0.05)
-- select the text color with the best contrast
if( bcontrast > wcontrast + 1.25 ) then
fontcolor = '#000000'
else
fontcolor = '#FFFFFF'
end
end
local style = 'background-color:#' .. (colors[3] or colors[2] or '') .. ';color:' .. (fontcolor or color) .. ';'
-- remove the border if it's nearly white
Line 223 ⟶ 254:
local function team_table_head(args, team, ctype)
local colors = get_colors(team, nil)
local borderwidth = tonumber(args['border']) or 0
-- set the default background
local background = (ctype == 'p') and
Line 228 ⟶ 260:
(colors[3] or colors[2] or 'FFFFFF'):upper()
-- now pick a font color
local fontcolor = '
-- compute the luminosity of the background
local lum = color2lum(background)
Line 236 ⟶ 268:
-- select the text color with the best contrast
if( bcontrast > wcontrast + 1.25 ) then
fontcolor = '#000000'
else
fontcolor = '#FFFFFF'
end
if borderwidth > 0 then
local bc = (ctype == 'p') and
(colors[3] or colors[2] or '') or (colors[1] or '')
if bc ~= 'FFFFFF' then
s = s .. bordercss('#' .. bc, borderwidth)
end
end
▲ local s = 'background-color:#' .. background .. ';color:#' .. fontcolor .. ';'
local res = '|-\n'
Line 310 ⟶ 349:
local r = mw.html.create('')
r:tag('span')
:addClass('legend-color')
:css('background-color', '#' .. (h or ''))
▲ :wikitext(' ')
return tostring(r)
end
Line 342 ⟶ 381:
if (#colorboxes > 0) then
return frame:extensionTag{ name = 'templatestyles', args = { src = 'Legend/styles.css'} } .. table.concat(colorboxes, sep)
end
Line 352 ⟶ 391:
local r = mw.html.create('')
r:tag('span')
:addClass('legend-color')
:css('background-color', '#' .. (h or ''))
▲ :wikitext(' ')
return tostring(r)
end
Line 389 ⟶ 428:
local res = ''
if (#colornames
res = colornames[1]▼
▲ else
▲ end
▲ end
end
res = mw.text.listToText(
', ',
#colornames == 2 and ' and ' or ', and '
)
if (colors['cite']) then
Line 419 ⟶ 453:
if (#colorboxes > 0) then
res = res .. frame:extensionTag{ name = 'templatestyles', args = { src = 'Legend/styles.css'} }
res = res .. table.concat(colorboxes, ' ')
end
|