Toggle menu
66
63
2
559
Fisk's Superheroes Wiki
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Module:HeroImage

From Fisk's Superheroes Wiki
Revision as of 06:03, 16 November 2025 by DeathRealms (talk | contribs)

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 250

	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