Differenze tra le versioni di "Modulo:Sup"

1 123 byte rimossi ,  03:08, 5 feb 2016
Adattamento alla nuova struttura di Sigle/data e inserita la libreria Wikilib/sigle
(Adattamento alla nuova struttura di Sigle/data e inserita la libreria Wikilib/sigle)
-- Collegamenti in apice ai giochi tramite le loro sigle colorate
 
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 x = {}
 
--[=[
--La funzione che fa il lavoro sporco. Gli argomenti sono:
 
Ritorna la sigla del gioco in apice e
--links: una table con i link alle pagine dei giochi
colorata del colore corrispondente.
--sigle: una table di tables in cui ogni table è la sigla di un gioco
Pair è una coppia della subtable
--colori. una table di table, in cui ogni table è il colore di un gioco
display degli elementi di Sigle/data,
 
ovvero:
--La funzione associa all'elemento x della table links una combinazione opportuna degli elementi della
- primo elemento: sigla del gioco
--x-esima riga delle tables sigle e colori e alla fine concatena il tutto.
- secondo elemento: colore del gioco
--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:#${colore};">${sigla}</span>',
{
str = str,
colore = c[colori[a][b]].normale,
sigla = sigle[a][b],
})
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 apici. Chiamata da tutte le sigle
 
local linkssingleDisplay = function(textpair)
return wstring.interp('<b>[[<sup style="color:#${color};">'''${textabbr}'''</sup></b>']], {text = text})
{
color = c[pair[2]].normale,
abbr = 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