Modulo:Split categoria
Questo è un modulo scritto in Lua. Le istruzioni che seguono sono contenute nella sottopagina Modulo:Split categoria/man (modifica • cronologia)
Sandbox: Modulo:Split categoria/Sandbox (modifica•cronologia) • Test: Modulo:Split categoria/Test (modifica•cronologia)
Questo modulo serve per dividere l'ambito di una categoria dalla lingua, reperendo i dati dal titolo della categoria stessa
Sintassi
Isolare l'ambito
Per isolare l'ambito, cioè la parte precedente al codice ISO della lingua bisogna usare {{#invoke: Split categoria | categoria }}
Isolare la lingua
Mentre per isolare la lingua, e restituirla in minuscolo, la sintassi da usare è {{#invoke: Split categoria | categoriaLingua }}
Esempio
Usiamo, per questi due esempi, la categoria Categoria:Biochimica-IT:
{{#invoke: Split categoria | categoria }}
- darà come risultato: Biochimica
{{#invoke: Split categoria | categoriaLingua }}
- darà come risultato: it
Se usiamo la sintassi in una categoria senza la parte della lingua (es: Categoria:Biochimica), entrambe le funzioni restituiranno Biochimica, ma mentre con {{#invoke: Split categoria | categoria }}
l'iniziale sarà come scritta nel titolo (in questo caso maiuscola), con {{#invoke: Split categoria | categoriaLingua }}
l'iniziale sarà sempre minuscola.
Funzione pratica
Questo modulo è stato pensato per essere usato nelle "categorie specializzate" in modo da solare la parte dell'ambito da quella riportante la lingua in modo da poterle utilizzare separatamente per altre funzioni. Un esempio pratico può essere visto nel template {{Avviso categoria specializzata}}.
local getArgs = require('Modulo:Arguments').getArgs
local p = {}
local titolo = mw.title.getCurrentTitle().subpageText
function p.categoria(frame)
ambito = mw.ustring.match(titolo, '^([%a%s,]+)-') -- Recupera la parte dell'ambito
return ambito
end
function p.categoriaLingua(frame)
lingua = mw.ustring.gsub(titolo, '^([%a%s,]+)-', '') -- recupera la lingua
return lingua:lower()
end
return p