Module:Param Parse: Difference between revisions
Jump to navigation
Jump to search
Content added Content deleted
Tag: Undo |
(Try to add image size support) |
||
Line 3: | Line 3: | ||
--]=] |
--]=] |
||
-- <nowiki> |
-- <nowiki> |
||
local Infobox = require('Module:Infobox') |
|||
local parse = {} |
local parse = {} |
||
Line 63: | Line 64: | ||
-- Standardized image function |
-- Standardized image function |
||
function parse. |
function parse.image_name(img) |
||
if img |
if img then |
||
return string.match(img, '%[%[File:(.+%.%w%w%w)|?%d*x?%d*p?x?%]%]') |
|||
⚫ | |||
end |
|||
⚫ | |||
end |
|||
function parse.image_height(img, default) |
|||
if img then |
|||
return string.match(img, '%[%[File:.+%.%w%w%w|%d*x(%d*)px%]%]') or default |
|||
end |
|||
return default |
|||
end |
|||
function parse.image_width(img, default) |
|||
if img then |
|||
return string.match(img, '[%[File:.+%.%w%w%w|(%d*)x?%d*px%]%]') or default |
|||
end |
|||
return default |
|||
end |
|||
function parse.image_func(img, default_width, default_height) |
|||
local name = parse.image_name(img) |
|||
local width = parse.image_width(img, default_width) |
|||
local height = parse.image_height(img, default_height) |
|||
local size = '' |
|||
if width and height then |
|||
size = '|'..width..'x'..height..'px' |
|||
elseif width then |
|||
size = '|'..width..'px' |
|||
elseif height then |
|||
size = '|x'..height..'px' |
|||
end |
|||
if img then |
|||
return '[['..name..size..']]' |
|||
end |
end |
||
return nil |
return nil |
||
end |
end |
||
function parse.image_smw(img) |
function parse.image_smw(img) |
||
return |
return parse.image_name(img) |
||
end |
end |
||
parse.image = { |
parse.image = { |
||
name = 'image', |
name = 'image', |
||
func = parse.image_func, |
func = parse.image_func, |
||
smw_property = 'Image', |
|||
smw_func = parse.image_smw, |
|||
empty = '[[Special:Upload|Please upload an image!]]', |
|||
category_incomplete = 'Needs image', |
|||
} |
|||
parse.image_size300 = { |
|||
name = 'image', |
|||
func = {name = parse.image_func, params = {Infobox.raw_param('image'), 300, 300}}, |
|||
smw_property = 'Image', |
smw_property = 'Image', |
||
smw_func = parse.image_smw, |
smw_func = parse.image_smw, |