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

Материал из AbduloverA.com
Нет описания правки
Нет описания правки
 
(не показано 49 промежуточных версий этого же участника)
Строка 1: Строка 1:
local p = {}
local p = {}
local str_p = ""


function p.render(frame)
 
-- mw.log("Entering")
function p.render_text(frame)
     -- Получение содержимого страницы с таблицей
    local pageName = frame.args[1];
    -- local pageName = frame.args[1] or "Шаблон:Новости"
     local index = frame.args[2];
     local pageName = "Шаблон:Новости"
   
     -- local pageName = "Шаблон:Новости";
    -- local index = 1;
 
   
     local content = mw.title.new(pageName):getContent()
     local content = mw.title.new(pageName):getContent()
mw.log(content);
    -- if not content then
    --    return "Страница не найдена или пуста."
    -- end


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


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


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


return p
return p;

Текущая версия от 23:38, 27 января 2025

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

local p = {}
local str_p = ""


function p.render_text(frame)
    local pageName = frame.args[1];
    local index = frame.args[2];
    
    -- local pageName = "Шаблон:Новости";
    -- local index = 1;

    
    local content = mw.title.new(pageName):getContent()

    if not content then
        return "Страница не найдена или пуста."
    end
	
    local rows = {}

    -- for row in content:gmatch("|text=.[^}]+|", "%a") do
    for row in content:gmatch("|text=.[^}]+}-", "%a") do
        table.insert(rows, row)
    end

    local result = {}
	str_p = rows[tonumber(index)]
	-- mw.log(str_p);
	local trunced = string.gsub(str_p, "|text=", "");
	-- local str_p = string.gsub(trunced, "|", "");
	-- mw.log(trunced);
	return trunced;
end 


function p.render_date(frame)
    local pageName = frame.args[1];
    local index = frame.args[2];
    
    -- local pageName = "Шаблон:Новости";
    -- local index = 1;

    
    local content = mw.title.new(pageName):getContent()

    if not content then
        return "Страница не найдена или пуста."
    end
	
    local rows = {}

    for row in content:gmatch("|date=.[^}]+|", "%a") do
        table.insert(rows, row)
    end

    local result = {}
	str_p = rows[tonumber(index)]
	local trunced = string.gsub(str_p, "|date=", "");
	local str_p = string.gsub(trunced, "|", "");
    mw.log(str_p);

	return str_p;
end 


return p;