模組:NumBlk2
外观

local p = {}
function mkItem(name, val, nameCl)
return "<span class=\"" .. nameCl .. "\">"
.. name ..
"</span><span class=\"s\">=</span><span class=\"v\">"
.. "<nowiki>".. mw.text.encode(val) .. "</nowiki>" ..
"</span><span class=\"e\">;</span>"
end
function dbgWrap(tag, fmt, id, lbl, ust, sub, exp, frame)
return "<div class=\"numblk2-dbg\">"
.. frame:preprocess(
mkItem("FMT", fmt, "i") .. "<br>"
.. mkItem("ID", id, "i") .. "<br>"
.. mkItem("LBL", lbl, "i") .. "<br>"
.. mkItem("UST", ust, "n") .. "<br>"
.. mkItem("SUB", sub, "n") .. "<br>"
.. mkItem("EXP", exp, "n")
) .. "<div class=\"tag\">" .. tag .. "</div>" ..
"</div>"
end
function p.fmtN(frame)
local frame2 = frame:getParent()
local code = frame.args[1]
local code2 = mw.text.unstripNoWiki(code)
local code3 = mw.ustring.gsub(
code2, "%%(.)", function (ch)
if (ch == "i") or (ch == "l") then
return frame.args[ch]
elseif ch == "L" then
return "<";
elseif ch == "G" then
return ">";
end
return ch
end
)
local rsl = frame2:preprocess(code3)
if (frame.args.dbg or ""):find("%S") then
return dbgWrap(frame.args.dbg, code, frame.args.i, frame.args.l, code2, code3, rsl, frame2)
end
return rsl
end
return p