--\/ | ___ __| | _ _ | | ___ _ / \ | ___|/ ___|__ __| |__ | | | |\/| | / _ \ / _` || | | || | / _ \(_) / _ \ | |_ \___ \\ \/ /| '_ \ | | | | | || (_) || (_| || |_| || || __/ _ / ___ \ | _| ___) |> < | | | || | |_| |_| \___/ \__,_| \__,_||_| \___|(_)/_/ \_\|_| |____//_/\_\|_| |_||_| ---------------------------------------------------------------------------------
local p =
--|__ | | ___ ___ \ \ / // _` || '__|| | / _` || '_ \ | | / _ \/ __| \ V /| (_| || | | || (_| || |_) || || __/\__ \ \_/ \__,_||_| |_| \__,_||_.__/ |_| \___||___/
=--
p.d = p.d.k = p.d.v = p.d.s = p.d.o = p.d.b = p.d.d = p.d.n = p.d.i =
p.a = for k, v in pairs(p.d) do table.insert(p.a, k)end
p.s = p.s.s = p.s.t =
function p.main(frame) local content = frame.args[1] or frame.args['c'] or frame.args['content'] local sp = p.esc(mw.text.split(content, '\n')) local newcontent = for j = 1, 3 do for l = 1, #sp do if j
2 then for s = 1, #p.d.s do if string.match(sp[l], s) then newcontent[l] = sp[l]:gsub(string.match(sp[l], s), c('%0', 's')) end end else for f = 1, #p.a do for i = 1, #p.d[f] do if string.match(sp[l], p.d[f][i]) then newcontent[l] = sp[l]:gsub(string.match(sp[l], (p.a[f] ~= 'n' and or '[+-]?') .. p.d[f][i]), p.c('%0', x)) end end end end end end return mw.text.listToText(newcontent, '
', '
')end
function p.c(c, t) local span = mw.html.create('span') :attr('class', t) :wikitext(c) return tostring(span)end
function p.ins(a, e) local i = #a a[i+1] = e return aend
function p.esc(t) local r = for i = 1, #t do r[i] = mw.text.nowiki(r[i]) end return rend
-- For attribution: //stackoverflow.com/a/832414function p.det(s) local t = p.split(s) local r = local f = local b = for i = 1, #t do if t[i]
" and not b[1] then table.insert(f,) f[#f].s = i elseif t[i]
" and b[2] then end end if b[1] or b[2] then f[#f] = nil end return 0end
function p.str(s, t) local fend
function p.uns(s) end
function p.split(s) local r = for i in mw.ustring.gmatch(s, '.') do table.insert(r, i) end return rend
return p