Documentation for this module may be created at Module:Main/doc
-- Implements [[Template:Main]]
local p = {}
local err = require("Module:Error")
local yn = require("Module:Yesno")
local function link(l, t)
return string.format("[[%s|%s]]", l, yn(t) and t or l)
end
function p.main(frame)
local args = frame:getParent().args
local text = "Main article: "
local mid
if not yn(args[1]) then return err("Main: No parameters supplied") end
if not yn(args[2]) then return text..link(args[1], yn(args["l1"]) and args["l1"] or args[1]) end
-- Loop through the args
local i = 1
text = "Main articles: "
repeat
if yn(args[i+1]) then
mid = yn(args[i+2]) and ", " or " and "
else mid = ""
end
text = text..link(args[i], (yn(args["l"..i])) and args["l"..i] or args[i]) .. mid
i = i + 1
until not yn(args[i])
return text
end
return p
-- [[Category:Lua Modules]]