Module:Sandbox: Difference between revisions

From the Super Mario Wiki, the Mario encyclopedia
Jump to navigationJump to search
mNo edit summary
mNo edit summary
Line 50: Line 50:
end
end
return string.format("game=%s<br>item=%s<br>link=%s<br>text=%s<br>image-size=%s<br>image-prefix=%s<br>image-suffix=%s<br>image-base=%s", game, item, link, text, imageSize or "nil", imagePrefix, imageSuffix, imageBase)
local image = "[[File:" .. imagePrefix .. imageBase .. imageSuffix .. ".png"
if imageSize ~= nil then
image = image .. "|" .. imageSize
end
image = image .. "|link=" .. link .. "]]"
local wikitext = args.wikitext
if wikitext == nil and text ~= "" then
local color = args.color
if link ~= "" then
if color ~= nil and color ~= "" then
wikitext = "{{color-link-piped|" .. link .. "|" .. color .. "|" .. text .. "}}"
else
wikitext = "[[" .. link .. "|" .. text .. "]]"
end
else
if color ~= nil and color ~= "" then
wikitext = '<span style="color:' .. color .. '">' .. text .. '</span>'
else
wikitext = text
end
end
end
local sep = args.sep or " "
local right = args.right
if right ~= nil and right ~= "" then
wikitext = wikitext .. sep .. image
else
wikitext = image .. sep .. wikitext
end
return "{{nowrap|" .. wikitext .. "}}"
--return string.format("game=%s<br>item=%s<br>link=%s<br>text=%s<br>image-size=%s<br>image-prefix=%s<br>image-suffix=%s<br>image-base=%s", game, item, link, text, imageSize or "nil", imagePrefix, imageSuffix, imageBase)
end
end


return p
return p

Revision as of 11:29, November 17, 2020

The sandbox (Module:Sandbox) is a module namespace page designed for testing and experimenting with Lua syntax. Feel free to try your skills at programming here: Click on edit, make your changes, then click "Save changes" when you are finished. Code added here will not stay permanently. Feel free to revert the page to its hello world function when you are done using it. This is not a page to chat.

If you need further help with modules, see the Lua reference manual.


local p = {}

function p.hello( frame )
    return "'''Hello, world!'''"
end

function p.pmitem(frame)
	local args = frame.args
	local game = args.game or "PM"
	local item = args[2] or args[1]
	local link = args.link or args[1]
	local text = args.text or item
	
	local imageSize = args.size
	if imageSize == nil then
		if game == "TTYD" then
			imageSize = "25x25px"
		elseif game ~= "PM" and game ~= "SPM" then
			imageSize = "50x50px"
		end
	end
	
	local imagePrefix = ""
	if game == "PM" then
		imagePrefix = "PaperMario Items "
	elseif game == "PMCS" then
		imagePrefix = "PMCS Item "
	end
	
	local imageSuffix = ""
	if game == "TTYD" or game == "SPM" then
		imageSuffix = " " .. game
	elseif game == "PMSS" then
		imageSuffix = " Sticker PMSS"
	elseif game == "PMTOK" then
		imageSuffix = " PMTOK icon"
	end
	
	local imageBase = args.item or item
	if game == "PMTOK" and imageBase == "Spring of Rainbows - VIP" then
		imageBase = "Spring of Rainbows VIP"
	else
		imageBase = string.gsub(imageBase, "é", "e")
		imageBase = string.gsub(imageBase, "×", "x")
		imageBase = string.gsub(imageBase, "[.,'?!]", "")
		imageBase = string.gsub(imageBase, '"', "")
		if game == "PM" then
			imageBase = string.gsub(imageBase, " ", "")
		end
	end
	
	local image = "[[File:" .. imagePrefix .. imageBase .. imageSuffix .. ".png"
	if imageSize ~= nil then
		image = image .. "|" .. imageSize
	end
	image = image .. "|link=" .. link .. "]]"
	
	local wikitext = args.wikitext
	if wikitext == nil and text ~= "" then
		local color = args.color
		if link ~= "" then
			if color ~= nil and color ~= "" then
				wikitext = "{{color-link-piped|" .. link .. "|" .. color .. "|" .. text .. "}}"
			else
				wikitext = "[[" .. link .. "|" .. text .. "]]"
			end
		else
			if color ~= nil and color ~= "" then
				wikitext = '<span style="color:' .. color .. '">' .. text .. '</span>'
			else
				wikitext = text
			end
		end
	end
	
	local sep = args.sep or " "
	local right = args.right
	if right ~= nil and right ~= "" then
		wikitext = wikitext .. sep .. image
	else
		wikitext = image .. sep .. wikitext
	end
	
	return "{{nowrap|" .. wikitext .. "}}"
	--return string.format("game=%s<br>item=%s<br>link=%s<br>text=%s<br>image-size=%s<br>image-prefix=%s<br>image-suffix=%s<br>image-base=%s", game, item, link, text, imageSize or "nil", imagePrefix, imageSuffix, imageBase)
end

return p