Modulo:Sandbox/Linkp
La documentazione per questo modulo può essere creata in Modulo:Sandbox/Linkp/man
local getArgs = require('Modulo:Arguments').getArgs
local function categorizza(cat)
return string.format('[[%s:%s]]', mw.site.namespaces[14].name, cat)
end
local function titleExists(pagina)
local title = mw.title.new(pagina)
return title and title.exists
end
local p = {}
function p.plurale(frame)
local forme = {}
local args = getArgs(frame)
local categoria, testo, lista
if args[1] == 'inv' or args[1] == 'invariabile' then
return '(\'\'invariabile\'\')'
else
testo = 'Plurale: '
for i, j in pairs(args) do
if mw.text.trim(j) == '' then
error ('È stato specificato un parametro vuoto')
end
if titleExists(mw.text.trim(j)) == false then
categoria = ''..categorizza('categoria di prova per ora')
else
categoria = ''
end
lista = table.insert(forme, string.format('[[%s]]', mw.text.trim(j)))
lista = table.concat(forme, ', ')
end
return '(\'\''..testo..'\'\'' ..lista.. ')'..categoria
end
end
function p.femminile (frame)
local forme = {}
local args = getArgs(frame)
local categoria, testo, lista
if args[1] == 'inv' or args[1] == 'invariabile' then
return '(\'\'invariabile\'\')'
else
testo = 'Femminile: '
for i, j in pairs(args) do
if mw.text.trim(j) == '' then
error ('È stato specificato un parametro vuoto')
end
if titleExists(mw.text.trim(j)) == false then
categoria = ''..categorizza('categoria di prova per ora')
else
categoria = ''
end
lista = table.insert(forme, string.format('[[%s]]', mw.text.trim(j)))
lista = table.concat(forme, ', ')
end
return '(\'\''..testo..'\'\'' ..lista.. ')'..categoria
end
end
return p