モジュール: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