Module:Flaglist: Difference between revisions
From Zoophilia Wiki
Jump to navigationJump to search
meta>Maiō T. (space instead of 4 pixels, see talk) |
m (11 revisions imported) |
||
(5 intermediate revisions by 3 users not shown) | |||
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 |
Latest revision as of 02:35, 3 September 2020
Documentation for this module may be created at Module:Flaglist/doc
-- 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