-- Enumerates a given parameter set from the invoking template as a bullet list.local getArgs = require('Module:Arguments').getArgslocal yesno = require("Module:Yesno")local p =
function p.main(frame) local args = getArgs(frame,)
return p._main(frame, args)end
function startswith(target, prefix) return mw.ustring.sub(target, 1, mw.ustring.len(prefix))
function endswith(target, suffix) return mw.ustring.sub(target, -mw.ustring.len(suffix), -1)
function p._main(frame, args) local prefix = args[1] or args["prefix"] or "" local suffix = args[2] or args["suffix"] or "" local parentArgs = frame:getParent and getArgs(frame:getParent,) or args local finalOutput = "" local list = mw.html.create(yesno(args["ordered"]) and "ol" or "ul") local current = 1 local searching = true while searching do local arg = (prefix
"") and current or prefix .. tostring(current) .. suffix if parentArgs[arg] then list:node(mw.html.create("li") :wikitext((args["pre"] or "") .. parentArgs[arg] .. (args["post"] or "")) ) current = current + 1 else searching = false end end return current
return p