Modulo:CategoriaMusicale

Questo è un modulo scritto in Lua. Le istruzioni che seguono sono contenute nella sottopagina Modulo:CategoriaMusicale/man (modifica · cronologia)
Sandbox: Modulo:CategoriaMusicale/sandbox (modifica · cronologia) · Sottopagine: lista · Test: Modulo:CategoriaMusicale/test (modifica · cronologia · esegui)
Questo modulo rimpiazza il vecchio codice del Template:CategoriaMusicale. Vedi il manuale del template per l'uso.
local p = {}
local subject2wikilink = {
['Gruppi musicali'] = '[[Gruppo musicale|gruppi musicali]]',
['Musicisti'] = '[[Musicista|musicisti]]',
['Cantanti'] = '[[Cantante|cantanti]]',
['Disc jockey'] = '[[disc jockey]]',
['Album'] = '[[Album discografico|album]] musicali',
['EP'] = '[[Extended play|EP]]',
['Singoli'] = '[[Singolo (musica)|singoli]]',
['Album video'] = '[[Album discografico|album]] video',
['Brani musicali'] = '[[Brano musicale|brani musicali]]'
}
--[[
verifica quali delle chiavi della tabella subject2wikilink
è presente all'inizio del titolo della categoria e la memorizza
]]
function get_subject()
local title = mw.title.getCurrentTitle().text
for k, v in pairs(subject2wikilink) do
if title:sub(1,string.len(k))==k then
return k
end
end
return nil
end
function p.main(frame)
local namespace = mw.title.getCurrentTitle().namespace
local args = frame.args
local genre = args.genere or args[1]
local forced_link = args.link_genere or args[2] or nil
local subject = get_subject()
local wikitext = "Questa categoria raggruppa voci su " .. subject2wikilink[subject] .. " [["
if forced_link then wikitext = wikitext .. forced_link .. "|" end
wikitext = wikitext .. genre .. "]].\n\n'''Categorie correlate:''' "
if subject == "Gruppi musicali" or subject == "Musicisti" or subject == "Cantanti" then
wikitext = wikitext .. string.format("[[:Categoria:%s per nazionalità|%s per nazionalità]]{{·}}", subject, subject)
end
wikitext = wikitext .. string.format("[[:Categoria:%s per genere|%s per genere (tutti)]]{{·}}", subject, subject)
for k, v in pairs(subject2wikilink) do
if subject ~= k then
wikitext = wikitext .. string.format("{{·}} [[:Categoria:%s %s|%s %s]]", k, genre, k, genre)
end
end
return wikitext
end
return p