Модуль:CategoryList: различия между версиями
Bardsley (обсуждение | вклад) Нет описания правки Метки: ручная отмена отменено |
Bardsley (обсуждение | вклад) Нет описания правки Метка: ручная отмена |
||
| Строка 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:# | 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