Модуль:Новости

Материал из AbduloverA.com

Для документации этого модуля может быть создана страница Модуль:Новости/doc

local p = {}

function p.render(frame)
	-- mw.log("Entering")
    -- Получение содержимого страницы с таблицей
    -- local pageName = frame.args[1] or "Шаблон:Новости"
    local pageName = "Шаблон:Новости"
    local content = mw.title.new(pageName):getContent()
	
    if not content then
        return "Страница не найдена или пуста."
    end
	-- mw.log(content);
	mw.log("*****PARSING*****");
    -- Парсинг строк таблицы
    local rows = {}
    -- for row in content:gmatch("|%s*[%w%W]-|%-") do
    -- for row in content:gmatch("{{Новость|date+", "%a+") do
    -- for row in content:gmatch("{{Новость|date.*}}", "%a+") do
    for row in content:gmatch("{{Новость|date[^}}]+}}", "%a+") do
        table.insert(rows, row)
        -- mw.log(row);
    end
    

    -- Вывод первых 5 строк
    local result = {}
    for i = 1, math.min(5, #rows) do
        table.insert(result, rows[i])
        mw.log(i);
        mw.log(rows[i]);
    end

    return table.concat(result, "\n")
end

return p