Module:Flaglist: Difference between revisions

From Zoophilia Wiki
Jump to navigationJump to search
meta>SiBr4
(Moved from Module:Sandbox/SiBr4)
 
meta>SiBr4
(Rounding)
Line 21: Line 21:
   h = string.gsub(size,"x(%d+)px","%1")
   h = string.gsub(size,"x(%d+)px","%1")
   w = h * 2.2
   w = h * 2.2
  w = math.floor(w+0.5) -- round to integer
else -- empty or invalid input
else -- empty or invalid input
   w = 23 -- default width for flagicons
   w = 23 -- default width for flagicons

Revision as of 15:31, 6 August 2014

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.width( frame )

local size
local w
local h

size = frame["args"][1]

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
return p