Модуль:FormatRow
Тифнень-лядяфнень морафтомасна
Для документации этого модуля может быть создана страница Модуль:FormatRow/doc
local p = {}
--[[
Функция выводит каждый неименованный параметр как строку таблицы в вики-разметке
Именованные параметры:
odd - стиль для нечётных строк
even - стиль для чётных строк
each - дополнительный стиль для каждой строки
]]
function p.AsRows(frame)
local args = frame.args;
if args[1] == nil then
args = frame:getParent().args;
end
local params = {
even = args['even'] or args['нс'],
odd = args['odd'] or args['чс'],
each = args['each'] or args['кс']
}
local rows = {}
local num = 1;
local cnt = 1;
value = args[num];
while value ~= nil do
value = mw.text.trim(value)
if value ~= '' then
local style = '';
if (cnt % 2) == 0 then
style = params.even or '';
else
style = params.odd or '';
end
if params.each ~= nil then
style = params.each .. '; ' .. style;
end
local row = '|-'
if style ~= '' then
row = row .. ' style ="' .. style .. '"';
end
row = row .. '\n';
table.insert(rows, row .. value);
cnt = cnt+1
end
num = num+1;
value = args[num]
end
return table.concat(rows, '\n');
end
return p