モジュール:Ruby

モジュールの解説[作成]
return function (text,kana)
	local k=mw.text.split(kana,":")
	local html=""
	if #k~=1 then
		local p=0
		for _,v in ipairs(k) do
			local n=mw.ustring.match(v,"^[0-9]+")
			local length=n==nil and 1 or tonumber(n)
			html=html..mw.text.tag("rb",{},mw.ustring.sub(text,p+1,p+length))..mw.text.tag("rt",{},n==nil and v or mw.ustring.sub(v,1+#n))
			p=p+length
		end
		if p~=mw.ustring.len(text) then
			html=html..mw.text.tag("rb",{style="color:red;"},"error")
		end
	else
		html=html..mw.text.tag("rb",{},text)..mw.text.tag("rt",{},kana)
	end
	return mw.text.tag("ruby",{},html)
end