Module:Sandbox/NguoiDungKhongDinhDanh/Foobar explained

--\/ | ___ __| | _ _ | | ___ _ / \ | ___|/ ___|__ __| |__ | | | |\/| | / _ \ / _` || | | || | / _ \(_) / _ \ | |_ \___ \\ \/ /| '_ \ | | | | | || (_) || (_| || |_| || || __/ _ / ___ \ | _| ___) |> < | | | || | |_| |_| \___/ \__,_| \__,_||_| \___|(_)/_/ \_\|_| |____//_/\_\|_| |_||_| ---------------------------------------------------------------------------------

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

1 then p.ins(newcontent, sp[l]) elseif 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[2] then table.insert(f,) f[#f].s = i elseif t[i]

" and not b[1] then table.insert(f,) f[#f].s = i elseif t[i]

' and b[1] then 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