Modulo:New Grove/sandbox: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Tino ha spostato la pagina Modulo:Sandbox/Tino/New Grove a Modulo:New Grove/sandbox senza lasciare redirect
Nessun oggetto della modifica
 
(10 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 pframepargs = frame:getParent().args
-- wl determina se inserire o meno un wikilink nel titolo dell'opera
local wl = pframe.argspargs[8'wl'] or pframe.argspargs['wl'8] or Nil
wl = wl and wl ~= ''
-- sceglie edizione (per avere i campi precompilati)
local edition = pframe.argspargs[1'edizione'] or pframe.argspargs['edizione'1] or Nil
-- shallow copy dei parametri
local inner_args = table_shallow_copy(pframe.argspargs)
-- conversione parametri posizionali:
-- il Modulo:Citazione e il Template:New Grove hanno un ordine diverso
-- per i parametri posizionali
inner_args['nome'] = pframe.argspargs[2'nome'] or pframe.argspargs['nome'2]
inner_args['cognome'] = pframe.argspargs[3'cognome'] or pframe.argspargs['cognome'3]
inner_args['voce'] = pframe.argspargs[4'voce'] or pframe.argspargs['voce'4]
inner_args['volume'] = pframe.argspargs[5'volume'] or pframe.argspargs['volume'5]
inner_args['pagine'] = pframe.argspargs[6'pagine'] or pframe.argspargs['pagine'6]
inner_args['cid'] = pframe.argspargs[7'cid'] or pframe.argspargs['cid'7]
-- 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['curatorecuratore2'] = "Hugh Wiley Hitchcock"
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