Module:Twemoji: Difference between revisions

From Irony Wiki
Jump to navigation Jump to search
(how did i just now realize how to do this)
 
No edit summary
Line 4: Line 4:


function p.main(frame)
function p.main(frame)
local p1 = frame[1]
local p1 = frame.args[1]
local p2 = ""
local p2 = ""
local p3 = ""
local p3 = ""
if (frame[2])
if (frame.args[2])
then
then
p2 = frame[2]
p2 = frame.args[2]
end
end
if (frame[3])
if (frame.args[3])
then
then
p3 = frame[3]
p3 = frame.args[3]
end
end

Revision as of 06:40, 8 February 2021

Documentation for this module may be created at Module:Twemoji/doc

-- Implements Template:Twemoji

local p = {}

function p.main(frame)
	local p1 = frame.args[1]
	local p2 = ""
	local p3 = ""
	
	if (frame.args[2])
	then
		p2 = frame.args[2]
	end
	
	if (frame.args[3])
	then
		p3 = frame.args[3]
	end
	
	if (mw.ustring.match(p1, "[A-z0-9-]"))
	then
		return "{{inline emote|Twemoji12 " .. p1 .. ".svg|2=" .. p2 .. "|3=" .. p3 .. "}}"
	else
		local cps = {}
		local i = 1
		
		for codepoint in mw.ustring.gcodepoint(p1) do
			cps[i] = string.format("%x", codepoint)
			i = i + 1
		end
		
		local output = table.concat(cps, "-")
		
		return "{{inline emote|Twemoji12 " .. output .. ".svg|2=" .. p2 .. "|3=" .. p3 .. "}}"
	end
end

return p