Нет описания правки
Метка: отменено
Нет описания правки
Метка: ручная отмена
 
(не показаны 3 промежуточные версии этого же участника)
Строка 4: Строка 4:
     local categories = mw.title.getCurrentTitle().categories
     local categories = mw.title.getCurrentTitle().categories
     if #categories == 0 then return "" end
     if #categories == 0 then return "" end
    -- Список категорий, которые нужно СКРЫТЬ
    local blacklist = {
        ["Страницы с неработающими файловыми ссылками"] = true,
        ["Другая ненужная категория"] = true -- можно добавить еще через запятую
    }


     local res = {}
     local res = {}
     for _, cat in ipairs(categories) do
     for _, cat in ipairs(categories) do
         -- Минималистичный тег: светлый фон, без жирных рамок
         -- Проверяем, нет ли категории в черном списке
         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; transition: background 0.2s;">'  
         if not blacklist[cat] then
                    .. '[[:Категория:' .. cat .. '|' .. cat .. ']]</span>'
            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;">'  
        table.insert(res, tag)
                        .. '[[:Категория:' .. cat .. '|' .. cat .. ']]</span>'
            table.insert(res, tag)
        end
     end
     end


     -- Оборачиваем все теги в один контейнер, чтобы они не разлетались
     if #res == 0 then return "" end
     return '<div style="display:flex; flex-wrap:wrap; align-items:center;">' .. table.concat(res, "") .. '</div>'
     return '<div style="display:flex; flex-wrap:wrap; align-items:center;">' .. table.concat(res, "") .. '</div>'
end
end


return p
return p

Текущая версия от 13:40, 4 апреля 2026

Для документации этого модуля может быть создана страница Модуль: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