Модуль:CategoryFormatter

Версия от 18:03, 20 февраля 2025; Pok (обсуждение | вклад) (Новая страница: «local p = {} function p.main(frame) local input = frame.args[1] or "" local results = {} -- Разбивка выходной строки по символу '/' for part in mw.text.gsplit(input, "/", true) do local name = mw.text.trim(part) if name ~= "" then local title = mw.title.new(name) local displayText = name -- Если страница с таким названием сущес...»)

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

local p = {}

function p.main(frame)
    local input = frame.args[1] or ""
    local results = {}

    -- Разбивка выходной строки по символу '/'
    for part in mw.text.gsplit(input, "/", true) do
        local name = mw.text.trim(part)
        if name ~= "" then
            local title = mw.title.new(name)
            local displayText = name
            -- Если страница с таким названием существует, выводит её в виде ссылки
            if title and title.exists then
                displayText = "[[" .. name .. "]]"
            end
            -- Формирования строки: выводит обработанный текст и добавляет категорию с таким именем
            table.insert(results, displayText .. "\n[[Category:" .. name .. "]]")
        end
    end

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

return p