Модуль:Новости: различия между версиями
Материал из AbduloverA.com
![]() Adept (обсуждение | вклад) |
![]() Adept (обсуждение | вклад) |
||
Строка 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("% | -- for row in content:gmatch("{{Новость|date+", "%a+") do | ||
for row in content:gmatch("{{Новость|date.*}}", "%a+") do | |||
mw.log(row); | table.insert(rows, row) | ||
-- mw.log(row); | |||
end | 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 | 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