Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Module:Ruby

From The Petit Planet Wiki
Revision as of 09:40, 9 November 2025 by Stevium (talk | contribs) (Created Module:Ruby)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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