Jump to content

Module:Ruby: Difference between revisions

From The Petit Planet Wiki
Created Module:Ruby
 
(No difference)

Latest revision as of 09:40, 9 November 2025

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

-- Source: https://genshin-impact.fandom.com/wiki/Module:Rubi

local p = {}
local param = {
	rpStart = "rpStart",
	rpEnd = "rpEnd",
}

function p.main(frame)
	local args = require('Module:Arguments').getArgs(frame, {
		parentFirst = true,
		wrappers = { 'Template:Ruby' },
	})
	return p._main(args)
end

function p._main(args)
	local ruby = mw.html.create('ruby')
	if args.large then ruby:addClass('ruby-large') end
	if args.center then ruby:addClass('ruby-center') end
	
	function mobileTag(ruby, text)
		if text then
			ruby:tag('rp')
				:wikitext(text)
				:done()
		end
	end
	
	for k, v in ipairs(args) do
		if k % 2 == 0 then
			mobileTag(ruby,args[param.rpStart])
			ruby:tag('rt'):wikitext(v)
			mobileTag(ruby,args[param.rpEnd])
		else
			ruby:wikitext(v)
		end
	end
	return ruby
end

return p