Новая страница: «local p = {} function p.show(frame) local title = mw.title.getCurrentTitle() local categories = title.categories if #categories == 0 then return "" -- Если категорий нет, ничего не выводим end local res = {} for _, cat in ipairs(categories) do -- Формируем ссылку на категорию без добавления страницы в неё table.insert(res,...»
 
Нет описания правки
Метка: ручная отмена
 
(не показано 5 промежуточных версий этого же участника)
Строка 2: Строка 2:


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


     local res = {}
     local res = {}
     for _, cat in ipairs(categories) do
     for _, cat in ipairs(categories) do
         -- Формируем ссылку на категорию без добавления страницы в неё
         -- Проверяем, нет ли категории в черном списке
         table.insert(res, "[[:Категория:" .. cat .. "|" .. cat .. "]]")
         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
     end


     return table.concat(res, " ") -- Разделитель между категориями
    if #res == 0 then return "" end
     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