Дополнительные действия
Этому шаблону не хватает документации. Вы можете помочь проекту, сделав описание шаблона: что он делает, как его использовать, какие параметры он принимает. Это поможет другим использовать его. Для оформления можете воспользоваться {{doc}} или {{doc-inline}}. Не забывайте помещать описание внутрь <noinclude></noinclude>. P.S. Также не забываем про категорию. |
-- Implements [[Шаблон: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 = "Основная статья: "
local mid
if not yn(args[1]) then return err("Основная статья: Не заданы параметры") end
if not yn(args[2]) then return text..link(args[1], yn(args["l1"]) and args["l1"] or args[1]) end
-- Цикл по аргументам
local i = 1
text = "Основные статьи: "
repeat
if yn(args[i+1]) then
mid = yn(args[i+2]) and ", " or " и "
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
-- [[Категория:Модули]]