Module:Flaglist: Difference between revisions
From Zoophilia Wiki
Jump to navigationJump to search
meta>SiBr4 Rounding |
meta>SiBr4 Splitting function |
||
| Line 3: | Line 3: | ||
local p = {} | local p = {} | ||
function p.luawidth(size) | |||
--For use within Lua | |||
local w | local w | ||
local h | local h | ||
if string.match(size,"^%d+x%d+px$") ~= nil then -- width and height (eg. 20x10px) | if string.match(size,"^%d+x%d+px$") ~= nil then -- width and height (eg. 20x10px) | ||
| Line 30: | Line 29: | ||
end | end | ||
function p.width(frame) | |||
--For external use | |||
return p.luawidth(frame["args"][1]) | |||
end | |||
return p | return p | ||
Revision as of 10:20, 14 March 2015
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
local h
if string.match(size,"^%d+x%d+px$") ~= nil then -- width and height (eg. 20x10px)
-- use specified width
w = string.gsub(size,"(%d+)x%d+px","%1")
elseif string.match(size,"^%d+px$") ~= nil then -- width only (eg. 20px)
-- use specified width
w = string.gsub(size,"(%d+)px","%1")
elseif string.match(size,"^x%d+px$") ~= nil then -- height only (eg. x10px)
-- assume a width based on the height
h = string.gsub(size,"x(%d+)px","%1")
w = h * 2.2
w = math.floor(w+0.5) -- round to integer
else -- empty or invalid input
w = 23 -- default width for flagicons
end
w = w + 7 -- extra whitespace between icon and link
return w
end
function p.width(frame)
--For external use
return p.luawidth(frame["args"][1])
end
return p