Module:Ruby

From Wikipedia

gggv


local p={}
local args=mw.getCurrentFrame().args
function p.ruby()
	local rb=mw.html.create("rb")
		rb:wikitext(args.rb or args[1])
		if args.rbstyle then rb:cssText(args.rbstyle) end
		if args.rblang or args[3] then rb:attr("lang",args.rblang or args[3]) end
		if args.rbclass then rb:addClass(args.rbclass) end
	local rp1=mw.html.create("rp")
		rp1:wikitext("(")
		if args.rpstyle then rp1:cssText(args.rpstyle) end
		if args.rplang then rp:attr("lang",args.rplang) end
		if args.rpclass then rp:addClass(args.rpclass) end
	local rp2=mw.html.create("rp")
		rp2:wikitext(")")
		if args.rpstyle then rp2:cssText(args.rpstyle) end
		if args.rplang then rp:attr("lang",args.rplang) end
		if args.rpclass then rp:addClass(args.rpclass) end
	local rt=mw.html.create("rt")
		rt:wikitext(args.rt or args[2])
		if args.rtstyle then rt:cssText(args.rtstyle) end
		rt:attr("lang","zh-latn" or args.rtlang or args[4])
		if args.rtclass then rt:addClass(args.rtclass) end
	local ruby=mw.html.create("ruby")
		ruby:wikitext(tostring(rb)..tostring(rp1)..tostring(rt)..tostring(rp2))
		if args.rubystyle or args.style then ruby:cssText(args.rubystyle or args.style) end
		if args.rubylang or args.lang then ruby:attr("lang",args.rubylang or args.lang) end
		if args.rubyclass or args.class then ruby:addClass(args.rubyclass or args.class) end
	return tostring(ruby)
end
return p