Модуль:Новости: различия между версиями

Материал из AbduloverA.com
Строка 11: Строка 11:
         return "Страница не найдена или пуста."
         return "Страница не найдена или пуста."
     end
     end
 
mw.log(content);
mw.log("*****PARSING*****");
     -- Парсинг строк таблицы
     -- Парсинг строк таблицы
     local rows = {}
     local rows = {}
     -- for row in content:gmatch("|%s*[%w%W]-|%-") do
     -- for row in content:gmatch("|%s*[%w%W]-|%-") do
     for row in content:gmatch("%s*, <td>") do
     -- for row in content:gmatch("{{Новость|date+", "%a+") do
         -- table.insert(rows, row)
    for row in content:gmatch("{{Новость|date.*}}", "%a+") do
         mw.log(row);
         table.insert(rows, row)
         -- mw.log(row);
     end
     end
      
      


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


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


return p
return p

Версия от 11:13, 26 декабря 2024

Для документации этого модуля может быть создана страница Модуль:Новости/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
        table.insert(rows, row)
        -- mw.log(row);
    end
    

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

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

return p