Module:HeroImage: Difference between revisions
From Fisk's Superheroes Wiki
More actions
DeathRealms (talk | contribs) Created page with "local p = {} local function isUrl(value) return type(value) == "string" and value:match("^https?://") end local function isHtmlImg(value) return type(value) == "string" and value:match("^<img") end local function getFileUrl(value) if isUrl(value) then return value end if isHtmlImg(value) then return value end return mw.getCurrentFrame():callParserFunction("filepath", value) end function p.show(frame) local src = frame...." |
DeathRealms (talk | contribs) mNo edit summary |
||
| (3 intermediate revisions by the same user not shown) | |||
| Line 2: | Line 2: | ||
local function isUrl(value) | local function isUrl(value) | ||
return type(value) == "string" and value:match("^https?://") | |||
end | end | ||
local function isHtmlImg(value) | local function isHtmlImg(value) | ||
return type(value) == "string" and value:match("^<img") | |||
end | end | ||
local function getFileUrl(value) | local function getFileUrl(value) | ||
if isUrl(value) then return value end | |||
if isHtmlImg(value) then return value end | |||
return mw.getCurrentFrame():callParserFunction("filepath", value) | |||
end | end | ||
function p.show(frame) | function p.show(frame) | ||
local src = frame.args[1] or frame.args.src | |||
if not src then return "''No image provided''" end | |||
local url = getFileUrl(src) | |||
local width = tonumber(frame.args.width) or 208 | |||
if isHtmlImg(url) then | |||
return frame:extensionTag("html", url) | |||
end | |||
local img = mw.html.create("img") | |||
:attr("src", url) | |||
:css("width", width .. "px") | |||
:css("height", "auto") | |||
return frame:extensionTag("html", tostring(img)) | |||
end | end | ||
return p | return p | ||
Latest revision as of 06:17, 16 November 2025
Documentation for this module may be created at Module:HeroImage/doc
local p = {}
local function isUrl(value)
return type(value) == "string" and value:match("^https?://")
end
local function isHtmlImg(value)
return type(value) == "string" and value:match("^<img")
end
local function getFileUrl(value)
if isUrl(value) then return value end
if isHtmlImg(value) then return value end
return mw.getCurrentFrame():callParserFunction("filepath", value)
end
function p.show(frame)
local src = frame.args[1] or frame.args.src
if not src then return "''No image provided''" end
local url = getFileUrl(src)
local width = tonumber(frame.args.width) or 208
if isHtmlImg(url) then
return frame:extensionTag("html", url)
end
local img = mw.html.create("img")
:attr("src", url)
:css("width", width .. "px")
:css("height", "auto")
return frame:extensionTag("html", tostring(img))
end
return p