Differenze tra le versioni di "Modulo:Blackabbrev"

Adattamento alla nuova struttura di Sigle/data e inserita la libreria Wikilib/sigle
m
(Adattamento alla nuova struttura di Sigle/data e inserita la libreria Wikilib/sigle)
-- Collegamenti ai giochi tramite le loro sigle: campo colorato e testo nero/bianco
 
local x = {}
-- c contiene la tabella dei colori,
-- w la libreria wikilib
-- m la tabella delle sigle
 
local wtxt = require('Modulo:Wikilib/strings')
local lib = require('Modulo:Wikilib/sigle')
local c = mw.loadData('Modulo:Colore/data')
local w = require('Modulo:Wikilib')
local m = mw.loadData('Modulo:Sigle/data')
local wd = mw.loadData('Modulo:Wikilib/data')
local x = {}
 
--[=[
--La funzione che fa il lavoro sporco. Gli argomenti sono:
 
Ritorna la sigla del gioco sullo sfondo
--links: una table con i link alle pagine dei giochi
del colore corrispondente. Pair è una
--sigle: una table di tables in cui ogni table è la sigla di un gioco
coppia della subtable display degli
--colori. una table di table, in cui ogni table è il colore di un gioco
elementi di Sigle/data, ovvero:
 
- primo elemento: sigla del gioco
--La funzione associa all'elemento x della table links una combinazione opportuna degli elementi della
- secondo elemento: colore del gioco
--x-esima riga delle tables sigle e colori e alla fine concatena il tutto.
--In termini comprensibili, associa ad ogni link la sigla dei giochi della pagina, con ogni lettera
--colorata con i colori del suo gioco
--Es: associa alla pagina "Pokémon Rubino e Zaffiro" le sigle "R", "Z" o "RZ" a seconda dei casi,
--con ogni lettera colorata con il colore del gioco che rappresenta
 
local sigla = function(t)
local links, sigle, colori = t[1], t[2], t[3]
local str1, str = '', ''
for a in ipairs(links) do
str = ''
for b in ipairs(colori[a]) do
str = w.interp([[${str}<span style="color:#${text}; background: #${colore};">&nbsp;'''${sigla}'''&nbsp;</span>]],
{
str = str,
colore = c[colori[a][b]].normale,
sigla = sigle[a][b],
text = w.linear_search(wd.whitetext, colori[a][b]) and c.background or '000'
})
end
str1 = w.interp('${str1}[[Pokémon ${link}|${str}]]', {str = str, link = links[a], str1 = str1})
end
return str1
end
 
--]=]
-- Rende le sigle della tabella in grassetto. Chiamata da tutte le sigle
 
local linkssingleDisplay = function(textpair)
return wstring.interp('[[<b>span style="padding: 0 0.3em; color:#${text}</b; background: #${colore};">', ''${text = textsigla})'''</span>]],
{
text = wtable.linear_searchsearch(wd.whitetext, coloripair[a][b2]) and c.background or '000',
colore = c[colori[a]pair[b2]].normale,
sigla = pair[1],
})
end
 
-- Per ogni sigla creaCrea la funzione d'interfaccia corrispondente,per ogni sigla
-- chiamando le funzioni links e sigla
 
for kabbr, vdata in pairs(m) do
x[kabbr] = function(frame) return linkslib.abbrLinks(sigla(v)data, singleDisplay) end
end