Module:Flaglist: Difference between revisions
Appearance
Content deleted Content added
reducing of whitespace by one pixel; see Template talk:Flaglist |
space instead of 4 pixels, see talk |
||
Line 11: | Line 11: | ||
if string.find(size,"^%d+x%d+px$") then -- width and height (eg. 20x10px) |
if string.find(size,"^%d+x%d+px$") then -- width and height (eg. 20x10px) |
||
-- use specified width |
-- use specified width |
||
w = tonumber(string.match(size,"(%d+)x%d+px")) |
w = tonumber(string.match(size,"(%d+)x%d+px")) + 2 -- (2px for borders) |
||
elseif string.find(size,"^%d+px$") then -- width only (eg. 20px) |
elseif string.find(size,"^%d+px$") then -- width only (eg. 20px) |
||
-- use specified width |
-- use specified width |
||
w = tonumber(string.match(size,"(%d+)px")) |
w = tonumber(string.match(size,"(%d+)px")) + 2 |
||
elseif string.find(size,"^x%d+px$") then -- height only (eg. x10px) |
elseif string.find(size,"^x%d+px$") then -- height only (eg. x10px) |
||
-- assume a width based on the height |
-- assume a width based on the height |
||
Line 21: | Line 21: | ||
w = math.floor(w+0.5) -- round to integer |
w = math.floor(w+0.5) -- round to integer |
||
else -- empty or invalid input |
else -- empty or invalid input |
||
w = |
w = 25 -- default width for flagicons including borders |
||
end |
end |
||
w = w + 6 -- minimum whitespace between icon and link |
|||
return tostring(w) |
return tostring(w) |
||
Revision as of 13:07, 17 June 2017
This template is used internally by Template:Flaglist and should not be used directly.
-- Calculates the width of the span box for [[Template:Flaglist]]
-- based on the specified image size
local p = {}
function p.luawidth(size)
--For use within Lua
local w
if string.find(size,"^%d+x%d+px$") then -- width and height (eg. 20x10px)
-- use specified width
w = tonumber(string.match(size,"(%d+)x%d+px")) + 2 -- (2px for borders)
elseif string.find(size,"^%d+px$") then -- width only (eg. 20px)
-- use specified width
w = tonumber(string.match(size,"(%d+)px")) + 2
elseif string.find(size,"^x%d+px$") then -- height only (eg. x10px)
-- assume a width based on the height
local h = tonumber(string.match(size,"x(%d+)px"))
w = h * 2.2
w = math.floor(w+0.5) -- round to integer
else -- empty or invalid input
w = 25 -- default width for flagicons including borders
end
return tostring(w)
end
function p.width(frame)
--For external use
return p.luawidth(frame["args"][1])
end
return p