Difference between revisions of "Module:Flaglist"
Jump to navigation
Jump to search
blackwiki>Pppery m (Pppery moved page Module:Flaglist/size to Module:Flaglist without leaving a redirect: It would have been simpler to fix the one usecase I missed rather than reverting me. "Module:Flaglist/size" meets G8 and thus is not a valid module title) |
blackwiki>Pppery (Fix code indentation) |
||
| Line 5: | Line 5: | ||
function p.luawidth(size) | function p.luawidth(size) | ||
| − | --For use within Lua | + | --For use within Lua |
| − | + | local w | |
| − | local w | + | if string.find(size,"^%d+x%d+px$") then -- width and height (eg. 20x10px) |
| − | + | -- use specified width | |
| − | if string.find(size,"^%d+x%d+px$") then -- width and height (eg. 20x10px) | + | 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 | |
| − | elseif string.find(size,"^%d+px$") then -- width only (eg. 20px) | + | 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 | |
| − | elseif string.find(size,"^x%d+px$") then -- height only (eg. x10px) | + | 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 | |
| − | else -- empty or invalid input | + | end |
| − | + | return tostring(w) | |
| − | end | ||
| − | |||
| − | return tostring(w) | ||
| − | |||
end | end | ||
function p.width(frame) | function p.width(frame) | ||
| − | --For external use | + | --For external use |
| − | + | return p.luawidth(frame.args[1]) | |
| − | return p.luawidth(frame | ||
| − | |||
end | end | ||
return p | return p | ||
Revision as of 17:25, 27 April 2019
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