Moduł:Drzewa link: Różnice pomiędzy wersjami

Z Nonsensopedii, polskiej encyklopedii humoru
M
M (meh)
Linia 3: Linia 3:




function p._linkCat(namespaces, categories)
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.linkCat(frame)
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 pairs(args) do
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