Moduł:Drzewa link: Różnice pomiędzy wersjami
Z Nonsensopedii, polskiej encyklopedii humoru
Ostrzyciel (dyskusja • edycje) M (wybuchnie?) |
Ostrzyciel (dyskusja • edycje) M (wszem) |
||
Linia 30: | Linia 30: | ||
text = 'Ta kategoria ma swój odpowiednik w drzewie kategorii ' .. links[1] .. '.' |
text = 'Ta kategoria ma swój odpowiednik w drzewie kategorii ' .. links[1] .. '.' |
||
else |
else |
||
text = 'Ta kategoria ma swoje odpowiedniki w drzewach kategorii ' .. |
text = 'Ta kategoria ma swoje odpowiedniki w drzewach kategorii ' .. tools.concatListPl(links) .. '.' |
||
end |
end |
||
Aktualna wersja na dzień 14:58, 1 kwi 2022
local p = {}
local tools = require('Moduł:Narzędzia')
local prefixMap = {
['(główna)'] = 'artykułów',
['grafiki'] = 'grafik',
['nonnews'] = 'NonNewsów',
['słownik'] = 'haseł słownikowych',
['cytaty'] = 'cytatów',
['poradniki'] = 'poradników',
['nonźródła'] = 'nonźródeł'
}
function p._linkCats(args)
local links = {}
for _, cat in pairs(args) do
cat = mw.text.trim(cat or '')
if cat ~= '' then
local prefix = mw.ustring.lower(mw.ustring.match(cat, "(.+) – ") or '(główna)')
local treeName = prefixMap[prefix] or 'artykułów'
table.insert(links, '<b>[[:Kategoria:' .. cat .. '|' .. treeName .. ']]</b>')
end
end
local text = ''
if #links == 0 then
text = 'Błąd – nie podano żadnych linków do innych kategorii.'
elseif #links == 1 then
text = 'Ta kategoria ma swój odpowiednik w drzewie kategorii ' .. links[1] .. '.'
else
text = 'Ta kategoria ma swoje odpowiedniki w drzewach kategorii ' .. tools.concatListPl(links) .. '.'
end
return {
title = 'Ambox',
args = {
grafika = '[[Plik:Dwa drzewa kategorii.svg|x40px]]',
tekst = text
}
}
end
function p.linkCats(frame)
local args = tools.getArgs(frame)
return frame:expandTemplate(p._linkCats(args))
end
return p