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