Modulo:Avviso
Istruzioni per l'uso
Questo è un modulo scritto in Lua. Le istruzioni che seguono sono contenute nella sottopagina Modulo:Avviso/man (modifica · cronologia)
Sandbox: Modulo:Avviso/sandbox (modifica · cronologia) · Test: Modulo:Avviso/test (modifica · cronologia · Esegui)
Questo è un modulo scritto in Lua. Le istruzioni che seguono sono contenute nella sottopagina Modulo:Avviso/man (modifica · cronologia)
Sandbox: Modulo:Avviso/sandbox (modifica · cronologia) · Test: Modulo:Avviso/test (modifica · cronologia · Esegui)
Questo modulo è uno script Lua utilizzato su Wikivoyage per generare box di avviso personalizzati nelle pagine. Viene utilizzato dal {{Avviso}} a indirettamente da tutti i template che usano quest'ultimo, ad es. {{Vetrina}}, {{Cancella}} ecc...
Funzioni
Il modulo fornisce due funzioni principali:
avvisoTemplate(frame)
: Utilizzata quando invocata attraverso un template.avviso(frame)
: Utilizzata quando invocata direttamente in una pagina.
Vedi Modulo:Arguments per maggiori dettagli.
Funzionalità
- Gestione Icone: Il modulo permette di specificare diverse immagini per tipi di avviso diversi, con un'immagine di default se non specificata. La logica del modulo segue quest'ordine di priorità per decidere quale icona usare:
- L'immagine a destra dell'avviso viene visualizzata solo se il parametro
immagine a destra
è stato dichiarato esplicitamente.
- Gestione Stile: Supporta la personalizzazione dello stile CSS attraverso il parametro
stile
- Gestione Categorie: Aggiunge automaticamente le categorie in base al tipo di avviso e al namespace della pagina.
- Le pagine del namespace Mediawiki vengono categorizzate in Messaggi di sistema con avviso
- Gli articoli nel namespace principale vengono categorizzate in Articoli con avviso
- Gestione del testo dell'avviso: Il testo dell'avviso può essere personalizzato attraverso il parametro
testo
.
Tipi di avviso supportati
-- 'tipo' = 'classe css usata'
local WARNING_TYPE = {
importante = 'avviso-importante',
contenuto = 'avviso-contenuto',
stile = 'avviso-stile',
statico = 'avviso-statico',
struttura = 'avviso-struttura',
avviso = 'avviso-informazioni',
disambigua = 'avviso-disambigua hatnote',
protezione = 'avviso-generico',
disclaimer = 'avviso-disclaimer',
default = 'avviso-informazioni'
}
Icone standard a seconda del tipo di avviso
- importante =
- contenuto =
- stile =
- statico =
- struttura =
- avviso =
- disambigua =
- protezione =
- disclaimer =
- trasparente = nessuna immagine
- default =
Vedi anche
--[[
Source script: https://it.wikivoyage.org/wiki/Modulo:Avviso
Maintainer: Andyrom75
]]
local function _isempty(s)
return s == nil or s == ''
end
local function _avviso(frame)
local args = frame.args
local avviso = {
tipo = {
importante = 'avviso-importante',
contenuto = 'avviso-contenuto',
stile = 'avviso-stile',
statico = 'avviso-statico',
struttura = 'avviso-struttura',
avviso = 'avviso-informazioni',
disambigua = 'avviso-disambigua hatnote',
protezione = 'avviso-generico',
disclaimer = 'avviso-disclaimer',
default = 'avviso-informazioni'
},
immagine = {
importante = '[[File:Stop hand nuvola.svg|40px|link=]]',
contenuto = '[[File:Emblem-important.svg|40px|link=]]',
stile = '[[File:Broom icon.svg|40px|link=]]',
statico = '[[File:Gnome globe current event.svg|40px|link=]]',
struttura = '[[File:Merge-split-transwiki default.svg|40px|link=]]',
avviso = '[[File:Info non-talk.png|40px|link=]]',
disambigua = '[[File:Info non-talk.png|40px|link=]]',
protezione = '[[File:Padlock.svg|40px|link=]]',
disclaimer = '[[File:Nuvola_apps_important.svg|40px|link=]]',
trasparente = '[[File:No image.svg|link=]]',
default = args['2'] or args.immagine or '[[File:Info non-talk.png|40px|link=]]'
}
}
local output = '<div style="' .. (args.stile or '')
.. '" class="plainlinks noprint avviso ambox ' .. (avviso.tipo[args.tipo] or avviso.tipo.default) .. '">'
.. '<div class="avviso-immagine mbox-image">'
if (args['2'] == 'nessuna') or (args.immagine == 'nessuna') then
output = output .. ' '
else
output = output .. '<div style="width:' .. (args.imageboxsize or '52px') .. ';">'
.. (avviso.immagine[args['2']]
or (_isempty(args['2']) and avviso.immagine[args.immagine])
or (_isempty(args['2']) and _isempty(args.immagine) and avviso.immagine[args.tipo])
or avviso.immagine.default)
.. '</div>'
end
output = output .. '</div><div class="avviso-testo mbox-text-span" style="' .. (args['stile testo'] or '') .. '">' .. (args['1'] or args.testo or '') .. '</div>'
if args['immagine a destra'] then
output = output .. '<div class="avviso-immaginedestra"><div style="width:' .. (args.imageboxsize or '52px') .. ';"> ' .. args['immagine a destra'] .. ' </div></div>'
end
output = output .. '</div>'
if mw.title.getCurrentTitle().namespace == '8' then --MediaWiki
output = output .. '[[Categoria:Messaggi di sistema con avviso|' .. mw.title.getCurrentTitle().text .. ']]'
elseif mw.title.getCurrentTitle().namespace == '0' then
if (args.tipo == 'avviso') or (args.tipo == 'importante') then
output = output .. '[[Categoria:Articoli con avviso]]'
end
end
return output
end
--Interfacce del modulo
local p = {}
function p.avvisoTemplate(frame)
return _avviso(frame:getParent())
end
function p.avviso(frame)
return _avviso(frame)
end
return p