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

Z Nonsensopedii, polskiej encyklopedii humoru
M (no zobaczmy)
M
Linia 36: Linia 36:
else
else
cat = args['1']
cat = args['1']
if cat:find '–' then
if cat:find('–') then
local namespace = namespaces[string:split(cat, " – ")[0].lower()]
local namespace = namespaces[string:split(cat, " – ")[0].lower()]
else
else

Wersja z 10:42, 2 gru 2020


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

-- żywcem zerżnięte z https://gist.github.com/jaredallard/ddb152179831dd23b230
function string:split(delimiter)
  local result = {}
  local from = 1
  local delim_from, delim_to = string.find(self, delimiter, from)
  while delim_from do
    table.insert(result, string.sub(self, from, delim_from - 1))
    from  = delim_to + 1
    delim_from, delim_to = string.find(self, delimiter, from)
  end
  table.insert(result, string.sub(self, from))
  return result
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 cat
	local namespace
	for name, space in pairs(namespaces) do
		if args[space] ~= nil then 
			cat = args[space] 
			namespace = space
		end
	end
	if cat ~= nil and namespace ~= nil then 
		return namespace .. ', ' .. '[[:Kategoria:' .. cat .. ']]\n'
	else 
		if args['1'] == nil then return 'arg1 nil' 
		else
		cat = args['1']
		if cat:find('–') then 
			local namespace = namespaces[string:split(cat, " – ")[0].lower()]
		else
			local namespace = 'główna' end
		return namespace .. ', ' .. '[[:Kategoria:' .. cat .. ']]\n' end 
	end
end

return p