Нет описания правки
Метка: отменено
Нет описания правки
Метки: ручная отмена отменено
Строка 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
         -- Проверяем, нет ли категории в черном списке
         -- Минималистичный тег: светлый фон, без жирных рамок
         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; transition: background 0.2s;">'  
            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>'
                        .. '[[:Категория:' .. cat .. '|' .. cat .. ']]</span>'
        table.insert(res, tag)
            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:39, 4 апреля 2026

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

local p = {}

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

    local res = {}
    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;">' 
                    .. '[[:Категория:' .. cat .. '|' .. cat .. ']]</span>'
        table.insert(res, tag)
    end

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

return p