Модуль:Новости: различия между версиями
Материал из AbduloverA.com
![]() Adept (обсуждение | вклад) |
![]() Adept (обсуждение | вклад) |
||
Строка 11: | Строка 11: | ||
return "Страница не найдена или пуста." | return "Страница не найдена или пуста." | ||
end | end | ||
mw.log(content); | -- mw.log(content); | ||
mw.log("*****PARSING*****"); | mw.log("*****PARSING*****"); | ||
-- Парсинг строк таблицы | -- Парсинг строк таблицы | ||
Строка 17: | Строка 17: | ||
-- for row in content:gmatch("|%s*[%w%W]-|%-") do | -- 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 | -- for row in content:gmatch("{{Новость|date.*}}", "%a+") do | ||
for row in content:gmatch("{{Новость|date[^}}]+}}", "%a+") do | |||
table.insert(rows, row) | table.insert(rows, row) | ||
-- mw.log(row); | -- mw.log(row); | ||
Строка 27: | Строка 28: | ||
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]) | ||
mw.log(i); | |||
mw.log(rows[i]); | |||
end | end | ||
Версия от 11:34, 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 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