Modulo:Tassobox/sandbox: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Rotpunkt ha spostato la pagina Modulo:Tassobox/Sandbox a Modulo:Tassobox/sandbox senza lasciare redirect
Moroboshi (discussione | contributi)
Nessun oggetto della modifica
Riga 1:
--[[
Questo modulo è in appoggio al template Tassobox, per il richiamo di un'immagine
di file mancante appropriata al regno/phylum/classe/ordine/ecc della voce in cui è inserito
]]
 
local p = {}
 
local cfg = mw.loadData("Modulo:Tassobox/Configurazione")
local getArgs = require('Module:Arguments').getArgs
 
local function check_value(valore)
return valore or return cfg.missing_table[mw.ustring.lower(valore)]
if valore == nil then
return nil
else
return cfg.missing_table[mw.ustring.lower(valore)]
end
end
 
--===================================================================
----------------------------------------------------------------------------------
-- Ritorna il nomeRichiamo di un'immagine dadi utilizzarefile se manca l'immaginemancante perappropriata ilal tassobox
di file mancante appropriata al-- regno/phylum/classe/ordine/ecc della voce in cui è inserito
----------------------------------------------------------------------------------
-- il tassobox
--===================================================================
function p.missing_image(frame)
local args = getArgs(frame, {wrapper = 'Template:Tassobox'})
-- Richiama i parametri originali del template
local missing_link
local pframe = frame:getParent()
-- testa in ordine dal più specifico al più generico la classificazione di un essere vivente
for _,test in ipairs(param_to_check) do
-- se non trova il valore nella tabella ricade nell'immagine di default
missing_link = check_value(args[test])
missing_link = check_value(pframe.args["sottordine"]) or check_value(pframe.args["superordine"]) or check_value(pframe.args["ordine"]) or check_value(pframe.args["classe"]) or check_value(pframe.args["superclasse"]) or
if missing_link then break end
check_value(pframe.args["subphylum"]) or check_value(pframe.args["phylum"]) or check_value(pframe.args["divisione"]) or
end
check_value(pframe.args["regno"]) or check_value(pframe.args["dominio"]) or "File:Unknown missing 1.png"
-- se ha non trovatrovato il valore nella tabella ricade nell'immagine di default
return '[[' .. missing_link ..'|220px|Immagine di ' .. mw.title.getCurrentTitle().text .. ' mancante]]'
missing_link = missing_link or "File:Unknown missing 1.png"
return '[[' .. missing_link ..'|220px|Immagine di ' .. mw.title.getCurrentTitle().text .. ' mancante]]'
end
 
Line 36 ⟶ 35:
-- Restituisce una tabella delle ere geologiche presenti in configurazione
local root = mw.html.create('table')
root
:addClass('wikitable sortable')
:tag('tr')
:tag('th'):wikitext('Era'):done()
:tag('th'):wikitext('Inizio'):done()
:tag('th'):wikitext('Successiva'):done()
:tag('th'):wikitext('Colore'):done()
for name, values in pairs(cfg.ere_geologiche) do
local start = values['start'] or "?"
local next_era = values['next_era'] or "?"
local color
if values['color'] then
color = mw.html.create('span')
:cssText("display:inline-block;border:solid grey 1px;width:1em;height:1em")
:css('background', values['color'])
:wikitext(' ')
else
color = mw.html.create('span'):done()
end
root:tag('tr')
:tag('td'):wikitext(name):done()
:tag('td'):css('text-align', 'right'):wikitext(start):done()
:tag('td'):wikitext(next_era):done()
:tag('td'):css('text-align', 'center'):node(color)
end
return tostring(root) .. tostring(temp)
end
 
--===================================================================
-- Genera lo stato di conservazione di uno specie
--===================================================================
function p.stato_conservazione(frame)
local args = getArgs(frame, {wrapper = 'template:Tassobox'})
local statocons = args.statocons
if statocons == nil then return end
statocons = cfg.stato_alias[statocons] or statocons
local row_stato = cfg.stato[statocons]
if valorerow_stato == nil then
return '<span class="errore">parametro statocons non valido</span>[[Categoria:Errori di compilazione del template Tassobox]]'
end
local base_image = row_stato.base_image
local immagine
if row_stato.versione then
local versione = args.statocons_versione or ''
immagine = mw.message.newRawMessage(base_image, (row_stato[versione] and versione) or row_stato.default)
end
local ref = args.statocons_ref
ref = ref and ('<span style=font-size:80%>' .. ref .. '</span>')
local dataestinzione = args.dataestinzione
dataestinzione = (dataestinzione and mw.ustring.format('<br><span style="color:%s;">%s</span>', dataestinzione)) or ''
local base_msg = [[
<div style="margin:0 auto; text-align:center; background:white;">
<div>\[\[Image:%s|200px\]\]</div
<div style="color:%s;font-weight: bold;font-size:80%;">%s%s%s</span></div>
</div>]]
local txt = mw.ustring.format(base_msg, immagine, row_stato.colore, row_stato.text_data, ref, dataestinzione)
end