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

Материал из AbduloverA.com
 
(не показаны 32 промежуточные версии этого же участника)
Строка 3: Строка 3:




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


     mw.log(index);
      
    -- local pageName = "Шаблон:Новости"
     local content = mw.title.new(pageName):getContent()
     local content = mw.title.new(pageName):getContent()
 
     if not content then
     if not content then
         return "Страница не найдена или пуста."
         return "Страница не найдена или пуста."
Строка 19: Строка 19:
     local rows = {}
     local rows = {}


     for row in content:gmatch("{{Новость|date[^}}]+}}", "%a+") do
     -- for row in content:gmatch("|text=.[^}]+|", "%a") do
    for row in content:gmatch("|text=.[^}]+}-", "%a") do
         table.insert(rows, row)
         table.insert(rows, row)
     end
     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;


     -- Вывод первых 5 строк
      
     local result = {}
     local content = mw.title.new(pageName):getContent()
    for i = 1, math.min(5, #rows) do
 
        table.insert(result, rows[index])
    if not content then
        str_p = rows[index];
         return "Страница не найдена или пуста."
         -- str_p = str_p .. "\n"
        -- mw.log(str_p);
        -- mw.log(rows[i]);
     end
     end
    local rows = {}


     -- return table.concat(result)
     for row in content:gmatch("|date=.[^}]+|", "%a") do
     return str_p
        table.insert(rows, row)
end
     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
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;