Moduł:Drzewa link: Różnice pomiędzy wersjami
Z Nonsensopedii, polskiej encyklopedii humoru
M |
M (meh) |
||
Linia 3: | Linia 3: | ||
function p. |
function p._linkCats(namespaces, categories) |
||
local comms = {['główna'] = 'artykułów', ['grafiki'] = 'grafik', |
local comms = {['główna'] = 'artykułów', ['grafiki'] = 'grafik', |
||
['nonnews'] = 'NonNewsów', ['słownik'] = 'haseł słownikowych', |
['nonnews'] = 'NonNewsów', ['słownik'] = 'haseł słownikowych', |
||
Linia 28: | Linia 28: | ||
function p. |
function p.linkCats(frame) |
||
local namespaces_ = |
local namespaces_ = |
||
{['główna']='główna', ['grafiki']='grafiki', ['nonnews']='nonnews', |
{['główna']='główna', ['grafiki']='grafiki', ['nonnews']='nonnews', |
||
Linia 36: | Linia 36: | ||
local namespaces = {} |
local namespaces = {} |
||
local cats = {} |
local cats = {} |
||
for index, cat in |
for index, cat in ipairs(args) do |
||
if cat == nil then return '' |
if cat == nil then return '' |
||
else if cat:find(' – ') then |
else if cat:find(' – ') then |
Wersja z 12:34, 2 gru 2020
local p = {}
local tools = require('Moduł:Narzędzia')
function p._linkCats(namespaces, categories)
local comms = {['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ł'}
if #categories < 2 then
local use_plural = false else local use_plural = true end
if use_plural then
treessuf = 'ie' else treessuf = 'ach' end
local catlinks = {}
for i=1, #namespaces do
local namespace = namespaces[i]
local category = categories[i]
local link = comms[namespace] .. ': \'\'\'' ..
'[[:Kategoria:' .. category .. ']]' .. '\'\'\''
table.insert(catlinks, link) end
mw.logObject(table.concat(catlinks, ', '))
return {title='Ambox', args={
grafika='[[Plik:Dwa drzewa kategorii.svg|x40px]]',
tekst='Ta kategoria ma swój odpowiednik w drzew' .. treessuf
.. ' kategorii ' .. table.concat(catlinks, ', ') .. '.'}}
end
function p.linkCats(frame)
local namespaces_ =
{['główna']='główna', ['grafiki']='grafiki', ['nonnews']='nonnews',
['słownik']='słownik', ['cytaty']='cytaty', ['poradniki']='poradniki',
['nonźródła']='nonźródła'}
local args = tools.getArgs(frame)
local namespaces = {}
local cats = {}
for index, cat in ipairs(args) do
if cat == nil then return ''
else if cat:find(' – ') then
local namespace = namespaces_[cat:match("(.+) – "):lower()]
else local namespace = 'główna' end
table.insert(namespaces, namespace)
table.insert(cats, arg)
end
end
return frame:expandTemplate(p._linkCat(namespaces, cats))
end
return p