Модуль:Игроки клуба
Внешний вид
Для документации этого модуля может быть создана страница Модуль:Игроки клуба/doc
-- Категория игроков футбольного клуба по названию его страницы.
-- «Название (футбольный клуб, Место[, год])» → «Игроки ФК «Название» (Место[, год])»;
-- приставка «ФК » в начале названия отбрасывается («ФК Сокол» → «Сокол»).
-- Используется в {{Футбольный клуб}}: строка «Игроки» со ссылкой на категорию.
local p = {}
function p.category(title)
local base, place = mw.ustring.match(title or '', '^(.-) %(футбольный клуб, (.+)%)$')
if not base then
return nil
end
base = mw.ustring.gsub(base, '^ФК ', '')
return 'Игроки ФК «' .. base .. '» (' .. place .. ')'
end
-- {{#invoke:Игроки клуба|link}} — ссылка «все игроки клуба», если категория существует;
-- необязательный параметр 1 — название страницы клуба (по умолчанию текущая страница).
function p.link(frame)
local args = frame.args
local page = args[1]
if not page or page == '' then
page = mw.title.getCurrentTitle().text
end
local cat = p.category(page)
if not cat then
return ''
end
local t = mw.title.new(cat, 14)
if not t or not t.exists then
return ''
end
local text = args.text
if not text or text == '' then
text = 'все игроки клуба'
end
return '[[:Категория:' .. cat .. '|' .. text .. ']]'
end
-- {{#invoke:Игроки клуба|name}} — только название категории (без пространства имён).
function p.name(frame)
local page = frame.args[1]
if not page or page == '' then
page = mw.title.getCurrentTitle().text
end
return p.category(page) or ''
end
return p