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

Материал из Space Station 14 Вики
мНет описания правки
мНет описания правки
Строка 13: Строка 13:
             -- Если страница с таким названием существует, выводит её в виде ссылки
             -- Если страница с таким названием существует, выводит её в виде ссылки
             if title and title.exists then
             if title and title.exists then
                 displayText = "<code>[[" .. name .. "]]</code>"
                 displayText = "[[" .. name .. "]]"
             end
             end
             -- Формирования строки: выводит обработанный текст и добавляет категорию с таким именем
             -- Формирования строки: выводит обработанный текст и добавляет категорию с таким именем
             table.insert(results, displayText .. "\n[[Category:" .. name .. "]]")
             table.insert(results, "<code>" .. displayText .. "</code>" .. "\n[[Category:" .. name .. "]]")
         end
         end
     end
     end

Версия от 23:16, 22 февраля 2025

Для документации этого модуля может быть создана страница Модуль: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, "<code>" .. displayText .. "</code>" .. "\n[[Category:" .. name .. "]]")
        end
    end

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

return p