Модуль:CategoryList

Версия от 13:40, 4 апреля 2026; Bardsley (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

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

local p = {}

function p.show(frame)
    local categories = mw.title.getCurrentTitle().categories
    if #categories == 0 then return "" end

    -- Список категорий, которые нужно СКРЫТЬ
    local blacklist = {
        ["Страницы с неработающими файловыми ссылками"] = true,
        ["Другая ненужная категория"] = true -- можно добавить еще через запятую
    }

    local res = {}
    for _, cat in ipairs(categories) do
        -- Проверяем, нет ли категории в черном списке
        if not blacklist[cat] then
            local tag = '<span style="display:inline-block; background:#f0f2f5; color:#202122; padding:4px 12px; border-radius:6px; margin:2px 4px 2px 0; font-size:0.9em; border:1px solid #dae0e7;">' 
                        .. '[[:Категория:' .. cat .. '|' .. cat .. ']]</span>'
            table.insert(res, tag)
        end
    end

    if #res == 0 then return "" end
    return '<div style="display:flex; flex-wrap:wrap; align-items:center;">' .. table.concat(res, "") .. '</div>'
end

return p