Modulo:New Grove/sandbox: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
commenti |
Nessun oggetto della modifica |
||
(11 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1:
--[[
* Modulo impiegato dal Template:New Grove per creare una citazione alle
* enciclopedie Grove (vedi voce Grove Dictionary of Music and Musicians).
* Il modulo è un wrapper che richiama il Modulo:Citazione dopo avere filtrato
* i parametri, aggiungendo i valori predefiniti (titolo, ISBN, curatori etc.)
* e rimappando i parametri posizionali, che nel Template:New Grove hanno un
* diverso ordine dai template Cita (giustificato da una sua logica).
--]]
local p = {}
Riga 17 ⟶ 26:
function p.citation(frame)
local
-- wl determina se inserire o meno un wikilink nel titolo dell'opera
local wl =
wl = wl and wl ~= ''
-- sceglie edizione (per avere i campi precompilati)
local edition =
-- shallow copy dei parametri
local inner_args = table_shallow_copy(
-- conversione parametri posizionali:
-- il Modulo:Citazione e il Template:New Grove hanno un ordine diverso
-- per i parametri posizionali
inner_args['nome'] =
inner_args['cognome'] =
inner_args['voce'] =
inner_args['volume'] =
inner_args['pagine'] =
inner_args['cid'] =
-- New Grove ed. 1
Riga 69 ⟶ 78:
-- Grove Dictionary of Musical Instruments
elseif edition == "inst" then
inner_args['titolo'] = "The New Grove Dictionary of Musical Instruments"
inner_args['curatore'] = "Stanley Sadie"
inner_args['editore'] = "MacMillian"
inner_args['città'] = "Londra"
inner_args['anno'] = "1984"
inner_args['ISBN'] = "0943818052"
-- Grove Dictionary of Opera
Riga 83 ⟶ 92:
inner_args['titolo'] = "The New Grove Dictionary of Opera"
end
inner_args['curatore'] = "Stanley Sadie"
inner_args['edizione'] = "1ª ed."
inner_args['editore'] = "MacMillian"
inner_args['città'] = "Londra"
inner_args['anno'] = "1992"
inner_args['ISBN'] = "0333485521"
-- Grove Dictionary of American Music
elseif edition == "american" then
inner_args['titolo'] = "The New Grove Dictionary of American Music"
inner_args['curatore'] = "Stanley Sadie"
inner_args['
inner_args['editore'] = "MacMillian"
inner_args['città'] = "Londra"
inner_args['anno'] = "1986"
inner_args['ISBN'] = "0333378792"
-- Grove Dictionary of Art ed. 1
Riga 135 ⟶ 144:
inner_args['anno'] = "2003"
inner_args['ISBN'] = "1561592846"
-- Oxford Music Online
elseif edition == "online" then
if wl then
inner_args['titolo'] = "[[Oxford Music Online]]"
else
inner_args['titolo'] = "Oxford Music Online"
end
inner_args['curatore'] = "Laura Macy"
inner_args['editore'] = "Oxford University Press"
-- parametro edizione assente o invalido
else
return mw.getCurrentFrame():expandTemplate {
title = "Errore template",
args = {
"edizione",
"Citazione Grove",
t = not edition or "r",
cat = "Errori di compilazione del template New Grove"
}
}
end
|