local ret = {}
local function convert(tex, it)
if (mw.ustring.sub(tex, it.it, it.it) ~= '{') then
local res = mw.ustring.sub(tex, it.it, it.it)
it.it = it.it + 1
return res
end
it.it = it.it + 1
local part = ""
while(true) do
local char = mw.ustring.sub(tex, it.it, it.it)
it.it = it.it + 1
if (char == '_') then
part = part.."<sub>"..convert(tex, it).."</sub>"
elseif (char == '^') then
part = part.."<sup>"..convert(tex, it).."</sup>"
elseif (char == '}') then
return part
else
part = part..char
end
end
end
function ret.conv(frame)
return convert('{'..frame.args[1]..'}',{it = 1})
end
return ret