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

Z Nonsensopedii, polskiej encyklopedii humoru
M
M (let's check)
Linia 2: Linia 2:
local tools = require('Moduł:Narzędzia')
local tools = require('Moduł:Narzędzia')



function p._linkCat(namespace, category)
function p._linkCat(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',
['cytaty'] = 'cytatów', ['poradniki'] = 'poradników',
['cytaty'] = 'cytatów', ['poradniki'] = 'poradników',
['nonźródła'] = 'nonźródeł'}
['nonźródła'] = 'nonźródeł'}
local catlinks = {}
local catlink = '[[:Kategoria:' .. category .. ']]'
if #categories < 2 then
return {
local use_plural = false else local use_plural = true end
title='Ambox',
if use_plural then
args={
trp = 'ie' else trp = 'ach' end
for i=1, #namespaces do
local namespace = namespaces[i]
local category = categories[i]
local link = comms[namespace] .. ': \'\'\'' ..
'[[:Kategoria:' .. category .. ']]' .. '\'\'\''
table.insert(catlinks, link) end
return {title='Ambox', args={
grafika='[[Plik:Dwa drzewa kategorii.svg|x40px]]',
grafika='[[Plik:Dwa drzewa kategorii.svg|x40px]]',
tekst='Ta kategoria ma swój odpowiednik w drzewie kategorii ' ..
tekst='Ta kategoria ma swój odpowiednik w drzew' .. trp
comms[namespace] .. ': \'\'\'' .. catlink .. '\'\'\'.'
.. 'kategorii ' .. table.concat(catlinks, ', ') .. '.'}}
end
}

} end


function p.linkCat(frame)
function p.linkCat(frame)
local namespaces =
local namespaces_ =
{['główna']='główna', ['grafiki']='grafiki', ['nonnews']='nonnews',
{['główna']='główna', ['grafiki']='grafiki', ['nonnews']='nonnews',
['słownik']='słownik', ['cytaty']='cytaty', ['poradniki']='poradniki',
['słownik']='słownik', ['cytaty']='cytaty', ['poradniki']='poradniki',
['nonźródła']='nonźródła'}
['nonźródła']='nonźródła'}
local args = tools.getArgs(frame)
local args = tools.getArgs(frame)
local cat
local cats
local namespace
local namespaces
for name, space in pairs(namespaces) do
for cat in args do
if args[space] ~= nil then
if cat == nil then return '' else
cat = args[space]
namespace = space
end
end
if cat == nil or namespace == nil then
if args['1'] == nil then return '' else
cat = args['1']
if cat:find(' – ') then
if cat:find(' – ') then
namespace = namespaces[cat:match("(.+) – "):lower()]
local namespace = namespaces_[cat:match("(.+) – "):lower()]
else namespace = 'główna' end
else local namespace = 'główna' end
table.insert(cats, arg)
table.insert(namespaces, namespace)
end
end
end
end
return frame:expandTemplate(p._linkCat(namespace, cat))
return frame:expandTemplate(p._linkCat(namespaces, cats))
end
end



return p
return p

Wersja z 12:17, 2 gru 2020


local p = {}
local tools = require('Moduł:Narzędzia')


function p._linkCat(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ł'} 
	local catlinks = {}
	if #categories < 2 then 
		local use_plural = false else local use_plural = true end
	if use_plural then 
		trp = 'ie' else trp = 'ach' end
	for i=1, #namespaces do
		local namespace = namespaces[i]
		local category = categories[i]
		local link = comms[namespace] .. ': \'\'\'' .. 
			'[[:Kategoria:' .. category .. ']]' .. '\'\'\''
		table.insert(catlinks, link) end
	
	return {title='Ambox', args={
			grafika='[[Plik:Dwa drzewa kategorii.svg|x40px]]', 
			tekst='Ta kategoria ma swój odpowiednik w drzew' .. trp 
			.. 'kategorii ' .. table.concat(catlinks, ', ') .. '.'}} 
end


function p.linkCat(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 cats
	local namespaces
	for cat in 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(cats, arg)
			table.insert(namespaces, namespace)
		end
	end
	return frame:expandTemplate(p._linkCat(namespaces, cats))
end


return p