Moduł:Drzewa link: Różnice pomiędzy wersjami
Z Nonsensopedii, polskiej encyklopedii humoru
M |
M (no zobaczmy) |
||
Linia 1: | Linia 1: | ||
local p = {} |
local p = {} |
||
local tools = require('Moduł:Narzędzia') |
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) |
function p.linkCat(frame) |
||
Linia 23: | Linia 37: | ||
cat = args['1'] |
cat = args['1'] |
||
if cat:find '–' then |
if cat:find '–' then |
||
local namespace = namespaces[split(cat, |
local namespace = namespaces[string:split(cat, " – ")[0].lower()] |
||
else |
else |
||
local namespace = 'główna' end |
local namespace = 'główna' end |
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