Modulo:Portale
Istruzioni per l'uso
Questo è un modulo scritto in Lua. Le istruzioni che seguono sono contenute nella sottopagina Modulo:Portale/man (modifica · cronologia)
Sandbox: Modulo:Portale/sandbox (modifica · cronologia) · Sottopagine: lista · Test: Modulo:Portale/test (modifica · cronologia · Esegui)
Questo è un modulo scritto in Lua. Le istruzioni che seguono sono contenute nella sottopagina Modulo:Portale/man (modifica · cronologia)
Sandbox: Modulo:Portale/sandbox (modifica · cronologia) · Sottopagine: lista · Test: Modulo:Portale/test (modifica · cronologia · Esegui)
Modulo Lua per svolgere le funzioni del template {{Portale}}
require('strict')
--esportazione delle funzioni del modulo
local p = {}
-- testo per il messaggio di errore se non ci sono parametri o sono tutti non esistenti
local novalid_parameter = {
'Il [[Template:Portale]] necessita di almeno un argomento!',
'Non sono stati inseriti portali validi nel [[Template:Portale]]'
}
-- Spazio da lasciare tra un portale e il successivo
local portal_gap = '8px';
-- layout per i portali (dato che le stringhe saranno usate in una funzione mw.ustring.format
-- la coppia di caratteri '%s' è il segnaposto per una stringa, mentre per inserire il
-- carattere % normalmente lo si deve inserire raddoppiato
local portal_half = '<div style="flex-basis: calc( 100%% / 2 - ' .. portal_gap .. ' / 2 );">%s</div>';
local portal_third = '<div style="flex-basis: calc( 100%% / 3 - ' .. portal_gap .. ' * 2/3 );">%s</div>';
local row_of_2 = portal_half .. portal_half;
local row_of_3 = portal_third .. portal_third .. portal_third;
local row_portals = {
--1 portale (segnaposto vuoto, è gestito a parte)
'',
-- 2 portali
row_of_2,
-- 3 portali
row_of_3,
--4 portali
row_of_2 .. row_of_2,
-- 5 portali
row_of_3 .. row_of_2,
--6 portali
row_of_3 .. row_of_3
}
-- Stringhe specifiche per alcuni portali, quando questi sono gli unici del template
local single_portal = {
['Astronomia'] = "accedi alle voci di Wikipedia che trattano di astronomia e astrofisica",
['Chimica'] = "il portale della scienza della composizione, delle proprietà e delle trasformazioni della materia",
['Comunità'] = "entra nella comunità degli autori di Wikipedia",
['Festival di Sanremo'] = "accedi alle voci di Wikipedia che parlano del Festival di Sanremo",
['I simpson'] = "accedi alle voci di Wikipedia su I simpson",
['LGBTQ'] = "le voci di Wikipedia dedicate al mondo gay, lesbico, bisex, trans e queer",
['Oggetti del profondo cielo'] = "accedi alle voci di Wikipedia che trattano di oggetti non stellari",
['Portali'] = "accedi ai [[WP:Portale|portali]] di Wikipedia",
['Progetti'] = "partecipa ai [[WP:Progetto|progetti]] di Wikipedia",
['Punk'] = "accedi alle voci di Wikipedia che parlano di musica punk",
['Seconda guerra mondiale'] = 'accedi alle voci di Wikipedia che parlano della seconda guerra mondiale',
['Sistema solare'] = "accedi alle voci di Wikipedia sugli oggetti del Sistema solare",
['Stelle'] = "accedi alle voci di Wikipedia che trattano di stelle e costellazioni",
['Telematica'] = "accedi alle voci di Wikipedia che parlano di reti, telecomunicazioni e protocolli di rete",
--geografia
['Africa Orientale'] = "accedi alle voci di Wikipedia che parlano dell'Africa Orientale",
['Albania'] = "accedi alle voci di Wikipedia che parlano dell'Albania",
['Algeria'] = "accedi alle voci di Wikipedia che parlano dell'Algeria",
['America'] = "accedi alle voci di Wikipedia che parlano delle Americhe",
['Nordafrica'] = "accedi alle voci di Wikipedia che parlano del Nordafrica",
['Unione Europea'] = "accedi alle voci di Wikipedia che trattano l'Unione Europea",
['Unione europea'] = "accedi alle voci di Wikipedia che trattano l'Unione europea",
['Antartide'] = "accedi alle voci di Wikipedia che parlano dell'Antartide",
['Argentina'] = "accedi alle voci di Wikipedia che parlano dell'Argentina",
['Arizona'] = "accedi alle voci di Wikipedia che parlano dell'Arizona",
['Armenia'] = "accedi alle voci di Wikipedia che parlano dell'Armenia",
['Armenia'] = "accedi alle voci di Wikipedia che parlano dell'Armenia",
['Artide'] = "accedi alle voci di Wikipedia che parlano dell'Artide",
['Asia'] = "accedi alle voci di Wikipedia che parlano dell'Asia",
['Austria'] = "accedi alle voci di Wikipedia che parlano dell'Austria",
['Azerbaigian'] = "accedi alle voci di Wikipedia che parlano dell'Azerbaigian",
['Bangladesh'] = "accedi alle voci di Wikipedia che parlano del Bangladesh",
['Belgio'] = "accedi alle voci di Wikipedia che parlano del Belgio",
['Bergamo'] = "accedi alle voci di Wikipedia su Bergamo e sul suo territorio",
['Bhutan'] = "accedi alle voci di Wikipedia che parlano del Bhutan",
['Bielorussia'] = "accedi alle voci di Wikipedia che parlano della Bielorussia",
['Birmania'] = "accedi alle voci di Wikipedia che parlano della Birmania",
['Bolivia'] = "accedi alle voci di Wikipedia che parlano della Bolivia",
['Bosnia ed Erzegovina'] = "accedi alle voci di Wikipedia che parlano della Bosnia ed Erzegovina",
['Brasile'] = "accedi alle voci di Wikipedia che parlano del Brasile",
['Bulgaria'] = "accedi alle voci di Wikipedia che parlano della Bulgaria",
['California'] = "accedi alle voci di Wikipedia che parlano della California",
['Cambogia'] = "accedi alle voci di Wikipedia che parlano della Cambogia",
['Canada'] = "accedi alle voci di Wikipedia che parlano del Canada",
['Cile'] = "accedi alle voci di Wikipedia che parlano del Cile",
['Cina'] = "accedi alle voci di Wikipedia che parlano della Cina",
['Città del Vaticano'] = "accedi alle voci di Wikipedia che parlano della Città del Vaticano",
['Colombia'] = "accedi alle voci di Wikipedia che parlano della Colombia",
['Corea'] = "accedi alle voci di Wikipedia che parlano della Corea",
['Corea del Nord'] = "accedi alle voci di Wikipedia che parlano della Corea del Nord",
['Corea del Sud'] = "accedi alle voci di Wikipedia che parlano della Corea del Sud",
['Corsica'] = "accedi alle voci di Wikipedia che parlano della Corsica",
['Costa Rica'] = "accedi alle voci di Wikipedia che parlano della Costa Rica",
['Croazia'] = "accedi alle voci di Wikipedia che parlano della Croazia",
['Dakota del Sud'] = "accedi alle voci di Wikipedia che parlano del Dakota del Sud",
['Danimarca'] = "accedi alle voci di Wikipedia che parlano della Danimarca",
['Ecuador'] = "accedi alle voci di Wikipedia che parlano dell'Ecuador",
['Estonia'] = "accedi alle voci di Wikipedia che parlano dell'Estonia",
['Europa'] = "accedi alle voci di Wikipedia che parlano dell'Europa",
['Filippine'] = "accedi alle voci di Wikipedia che parlano delle Filippine",
['Finlandia'] = "accedi alle voci di Wikipedia che parlano della Finlandia",
['Francia'] = "accedi alle voci di Wikipedia che parlano della Francia",
['Georgia'] = "accedi alle voci di Wikipedia che parlano della Georgia",
['Germania'] = "accedi alle voci di Wikipedia che parlano della Germania",
['Giappone'] = "accedi alle voci di Wikipedia che parlano del Giappone",
['Gilgit-Baltistan'] = "accedi alle voci di Wikipedia che parlano del Gilgit-Baltistan",
['Grecia'] = "accedi alle voci di Wikipedia che parlano della Grecia",
['Guatemala'] = "accedi alle voci di Wikipedia che parlano del Guatemala",
['Honduras'] = "accedi alle voci di Wikipedia che parlano dell’Honduras",
['India'] = "accedi alle voci di Wikipedia che parlano dell'India",
['Iran'] = "accedi alle voci di Wikipedia che parlano dell'Iran",
['Irlanda'] = "accedi alle voci di Wikipedia che parlano dell'Irlanda",
['Islanda'] = "accedi alle voci di Wikipedia che parlano dell'Islanda",
['Israele'] = "accedi alle voci di Wikipedia che parlano d'Israele",
['Kazakistan'] = "accedi alle voci di Wikipedia che parlano del Kazakistan",
['Kirghizistan'] = "accedi alle voci di Wikipedia che parlano del Kirghizistan",
['L\'Aquila'] = "accedi alle voci di Wikipedia che parlano dell'Aquila",
['Lettonia'] = "accedi alle voci di Wikipedia che parlano della Lettonia",
['Libano'] = "accedi alle voci di Wikipedia che parlano del Libano",
['Lituania'] = "accedi alle voci di Wikipedia che parlano della Lituania",
['Lussemburgo'] = "accedi alle voci di Wikipedia che parlano del Lussemburgo",
['Macedonia del Nord'] = "accedi alle voci di Wikipedia che parlano della Macedonia del Nord",
['Madagascar'] = "accedi alle voci di Wikipedia che parlano del Madagascar",
['Maldive'] = "accedi alle voci di Wikipedia che parlano delle Maldive",
['Marocco'] = "accedi alle voci di Wikipedia che parlano del Marocco",
['Messico'] = "accedi alle voci di Wikipedia che parlano del Messico",
['Moldavia'] = "accedi alle voci di Wikipedia che parlano della Moldavia",
['Montana'] = "accedi alle voci di Wikipedia che parlano del Montana",
['Montenegro'] = "accedi alle voci di Wikipedia che parlano del Montenegro",
['Norvegia'] = "accedi alle voci di Wikipedia che parlano della Norvegia",
['Nuovo Messico'] = "accedi alle voci di Wikipedia che parlano del Nuovo Messico",
['Ohio'] = "accedi alle voci di Wikipedia che parlano dell'Ohio",
['Paesi Bassi'] = "accedi alle voci di Wikipedia che parlano del Paesi Bassi",
['Pakistan'] = "accedi alle voci di Wikipedia che parlano del Pakistan",
['Perù'] = "accedi alle voci di Wikipedia che parlano del Perù",
['Polonia'] = "accedi alle voci di Wikipedia che parlano della Polonia",
['Portogallo'] = "accedi alle voci di Wikipedia che parlano del Portogallo",
['Principato di Monaco'] = "accedi alle voci di Wikipedia che parlano del Principato di Monaco",
['Regno Unito'] = "accedi alle voci di Wikipedia che parlano del Regno Unito",
['Repubblica Ceca'] = "accedi alle voci di Wikipedia che parlano della Repubblica Ceca",
['Romania'] = "accedi alle voci di Wikipedia che parlano della Romania",
['Russia'] = "accedi alle voci di Wikipedia che parlano della Russia",
['Scozia'] = "accedi alle voci di Wikipedia che parlano della Scozia",
['Serbia'] = "accedi alle voci di Wikipedia che parlano della Serbia",
['Slovacchia'] = "accedi alle voci di Wikipedia che parlano della Slovacchia",
['Slovenia'] = "accedi alle voci di Wikipedia che parlano della Slovenia",
['Spagna'] = "accedi alle voci di Wikipedia che parlano della Spagna",
['Stati Uniti d\'America'] = "accedi alle voci di Wikipedia che parlano degli Stati Uniti d'America",
['Svezia'] = "accedi alle voci di Wikipedia che parlano della Svezia",
['Svizzera'] = "accedi alle voci di Wikipedia che parlano della Svizzera",
['Texas'] = "accedi alle voci di Wikipedia che parlano del Texas",
['Thailandia'] = "accedi alle voci di Wikipedia che parlano della Thailandia",
['Ticino'] = "accedi alle voci di Wikipedia che parlano del Ticino",
['Turchia'] = "accedi alle voci di Wikipedia che parlano della Turchia",
['Turkmenistan'] = "accedi alle voci di Wikipedia che parlano del Turkmenistan",
['Ucraina'] = "accedi alle voci di Wikipedia che parlano dell'Ucraina",
['Ungheria'] = "accedi alle voci di Wikipedia che parlano dell'Ungheria",
['Uruguay'] = "accedi alle voci di Wikipedia che parlano dell'Uruguay",
['Uzbekistan'] = "accedi alle voci di Wikipedia che parlano dell'Uzbekistan",
['Valle del Nilo'] = "accedi alle voci di Wikipedia che parlano della Valle del Nilo",
['Venezuela'] = "accedi alle voci di Wikipedia che parlano del Venezuela",
['Vietnam'] = "accedi alle voci di Wikipedia che parlano del Vietnam",
--provincie italiane
['Provincia di Agrigento'] = "accedi alle voci di Wikipedia che parlano della Provincia di Agrigento",
['Provincia di Alessandria'] = "accedi alle voci di Wikipedia che parlano della Provincia di Alessandria",
['Provincia di Ancona'] = "accedi alle voci di Wikipedia che parlano della Provincia di Ancona",
['Provincia di Arezzo'] = "accedi alle voci di Wikipedia che parlano della Provincia di Arezzo",
['Provincia di Ascoli Piceno'] = "accedi alle voci di Wikipedia che parlano della Provincia di Ascoli Piceno",
['Provincia di Asti'] = "accedi alle voci di Wikipedia che parlano della Provincia di Asti",
['Provincia di Avellino'] = "accedi alle voci di Wikipedia che parlano della Provincia di Avellino",
['Provincia di Bari'] = "accedi alle voci di Wikipedia che parlano della Provincia di Bari",
['Provincia di Barletta-Andria-Trani'] = "accedi alle voci di Wikipedia che parlano della Provincia di Barletta-Andria-Trani",
['Provincia di Belluno'] = "accedi alle voci di Wikipedia che parlano della Provincia di Belluno",
['Provincia di Benevento'] = "accedi alle voci di Wikipedia che parlano della Provincia di Benevento",
['Provincia di Bergamo'] = "accedi alle voci di Wikipedia che parlano della Provincia di Bergamo",
['Provincia di Biella'] = "accedi alle voci di Wikipedia che parlano della Provincia di Biella",
['Provincia di Bologna'] = "accedi alle voci di Wikipedia che parlano della Provincia di Bologna",
['Provincia di Bolzano'] = "accedi alle voci di Wikipedia che parlano della Provincia di Bolzano",
['Provincia di Brescia'] = "accedi alle voci di Wikipedia che parlano della Provincia di Brescia",
['Provincia di Brindisi'] = "accedi alle voci di Wikipedia che parlano della Provincia di Brindisi",
['Provincia di Cagliari'] = "accedi alle voci di Wikipedia che parlano della Provincia di Cagliari",
['Provincia di Caltanissetta'] = "accedi alle voci di Wikipedia che parlano della Provincia di Caltanissetta",
['Provincia di Campobasso'] = "accedi alle voci di Wikipedia che parlano della Provincia di Campobasso",
['Provincia di Carbonia-Iglesias'] = "accedi alle voci di Wikipedia che parlano della Provincia di Carbonia-Iglesias",
['Provincia di Caserta'] = "accedi alle voci di Wikipedia che parlano della Provincia di Caserta",
['Provincia di Catania'] = "accedi alle voci di Wikipedia che parlano della Provincia di Catania",
['Provincia di Catanzaro'] = "accedi alle voci di Wikipedia che parlano della Provincia di Catanzaro",
['Provincia di Chieti'] = "accedi alle voci di Wikipedia che parlano della Provincia di Chieti",
['Provincia di Como'] = "accedi alle voci di Wikipedia che parlano della Provincia di Como",
['Provincia di Cosenza'] = "accedi alle voci di Wikipedia che parlano della Provincia di Cosenza",
['Provincia di Cremona'] = "accedi alle voci di Wikipedia che parlano della Provincia di Cremona",
['Provincia di Crotone'] = "accedi alle voci di Wikipedia che parlano della Provincia di Crotone",
['Provincia di Cuneo'] = "accedi alle voci di Wikipedia che parlano della Provincia di Cuneo",
['Provincia di Enna'] = "accedi alle voci di Wikipedia che parlano della Provincia di Enna",
['Provincia di Fermo'] = "accedi alle voci di Wikipedia che parlano della Provincia di Fermo",
['Provincia di Ferrara'] = "accedi alle voci di Wikipedia che parlano della Provincia di Ferrara",
['Provincia di Firenze'] = "accedi alle voci di Wikipedia che parlano della Provincia di Firenze",
['Provincia di Foggia'] = "accedi alle voci di Wikipedia che parlano della Provincia di Foggia",
['Provincia di Forlì-Cesena'] = "accedi alle voci di Wikipedia che parlano della Provincia di Forlì-Cesena",
['Provincia di Frosinone'] = "accedi alle voci di Wikipedia che parlano della Provincia di Frosinone",
['Provincia di Genova'] = "accedi alle voci di Wikipedia che parlano della Provincia di Genova",
['Provincia di Gorizia'] = "accedi alle voci di Wikipedia che parlano della Provincia di Gorizia",
['Provincia di Grosseto'] = "accedi alle voci di Wikipedia che parlano della Provincia di Grosseto",
['Provincia di Imperia'] = "accedi alle voci di Wikipedia che parlano della Provincia di Imperia",
['Provincia di Isernia'] = "accedi alle voci di Wikipedia che parlano della Provincia di Isernia",
['Provincia di La Spezia'] = "accedi alle voci di Wikipedia che parlano della Provincia di La Spezia",
['Provincia dell\'Aquila'] = "accedi alle voci di Wikipedia che parlano della Provincia dell\'Aquila",
['Provincia di Latina'] = "accedi alle voci di Wikipedia che parlano della Provincia di Latina",
['Provincia di Lecce'] = "accedi alle voci di Wikipedia che parlano della Provincia di Lecce",
['Provincia di Lecco'] = "accedi alle voci di Wikipedia che parlano della Provincia di Lecco",
['Provincia di Livorno'] = "accedi alle voci di Wikipedia che parlano della Provincia di Livorno",
['Provincia di Lodi'] = "accedi alle voci di Wikipedia che parlano della Provincia di Lodi",
['Provincia di Lucca'] = "accedi alle voci di Wikipedia che parlano della Provincia di Lucca",
['Provincia di Macerata'] = "accedi alle voci di Wikipedia che parlano della Provincia di Macerata",
['Provincia di Mantova'] = "accedi alle voci di Wikipedia che parlano della Provincia di Mantova",
['Provincia di Massa-Carrara'] = "accedi alle voci di Wikipedia che parlano della Provincia di Massa-Carrara",
['Provincia di Matera'] = "accedi alle voci di Wikipedia che parlano della Provincia di Matera",
['Provincia di Messina'] = "accedi alle voci di Wikipedia che parlano della Provincia di Messina",
['Provincia di Milano'] = "accedi alle voci di Wikipedia che parlano della Provincia di Milano",
['Provincia di Modena'] = "accedi alle voci di Wikipedia che parlano della Provincia di Modena",
['Provincia di Monza e della Brianza'] = "accedi alle voci di Wikipedia che parlano della Provincia di Monza e della Brianza",
['Provincia di Napoli'] = "accedi alle voci di Wikipedia che parlano della Provincia di Napoli",
['Provincia di Novara'] = "accedi alle voci di Wikipedia che parlano della Provincia di Novara",
['Provincia di Nuoro'] = "accedi alle voci di Wikipedia che parlano della Provincia di Nuoro",
['Provincia di Olbia-Tempio'] = "accedi alle voci di Wikipedia che parlano della Provincia di Olbia-Tempio",
['Provincia di Oristano'] = "accedi alle voci di Wikipedia che parlano della Provincia di Oristano",
['Provincia di Padova'] = "accedi alle voci di Wikipedia che parlano della Provincia di Padova",
['Provincia di Palermo'] = "accedi alle voci di Wikipedia che parlano della Provincia di Palermo",
['Provincia di Parma'] = "accedi alle voci di Wikipedia che parlano della Provincia di Parma",
['Provincia di Pavia'] = "accedi alle voci di Wikipedia che parlano della Provincia di Pavia",
['Provincia di Perugia'] = "accedi alle voci di Wikipedia che parlano della Provincia di Perugia",
['Provincia di Pesaro e Urbino'] = "accedi alle voci di Wikipedia che parlano della Provincia di Pesaro e Urbino",
['Provincia di Pescara'] = "accedi alle voci di Wikipedia che parlano della Provincia di Pescara",
['Provincia di Piacenza'] = "accedi alle voci di Wikipedia che parlano della Provincia di Piacenza",
['Provincia di Pisa'] = "accedi alle voci di Wikipedia che parlano della Provincia di Pisa",
['Provincia di Pistoia'] = "accedi alle voci di Wikipedia che parlano della Provincia di Pistoia",
['Provincia di Pordenone'] = "accedi alle voci di Wikipedia che parlano della Provincia di Pordenone",
['Provincia di Potenza'] = "accedi alle voci di Wikipedia che parlano della Provincia di Potenza",
['Provincia di Prato'] = "accedi alle voci di Wikipedia che parlano della Provincia di Prato",
['Provincia di Ragusa'] = "accedi alle voci di Wikipedia che parlano della Provincia di Ragusa",
['Provincia di Ravenna'] = "accedi alle voci di Wikipedia che parlano della Provincia di Ravenna",
['Provincia di Reggio Calabria'] = "accedi alle voci di Wikipedia che parlano della Provincia di Reggio Calabria",
['Provincia di Reggio Emilia'] = "accedi alle voci di Wikipedia che parlano della Provincia di Reggio Emilia",
['Provincia di Rieti'] = "accedi alle voci di Wikipedia che parlano della Provincia di Rieti",
['Provincia di Rimini'] = "accedi alle voci di Wikipedia che parlano della Provincia di Rimini",
['Provincia di Roma'] = "accedi alle voci di Wikipedia che parlano della Provincia di Roma",
['Provincia di Rovigo'] = "accedi alle voci di Wikipedia che parlano della Provincia di Rovigo",
['Provincia di Salerno'] = "accedi alle voci di Wikipedia che parlano della Provincia di Salerno",
['Provincia di Medio Campidano'] = "accedi alle voci di Wikipedia che parlano della Provincia di Medio Campidano",
['Provincia di Sassari'] = "accedi alle voci di Wikipedia che parlano della Provincia di Sassari",
['Provincia di Savona'] = "accedi alle voci di Wikipedia che parlano della Provincia di Savona",
['Provincia di Siena'] = "accedi alle voci di Wikipedia che parlano della Provincia di Siena",
['Provincia di Siracusa'] = "accedi alle voci di Wikipedia che parlano della Provincia di Siracusa",
['Provincia di Sondrio'] = "accedi alle voci di Wikipedia che parlano della Provincia di Sondrio",
['Provincia di Taranto'] = "accedi alle voci di Wikipedia che parlano della Provincia di Taranto",
['Provincia di Teramo'] = "accedi alle voci di Wikipedia che parlano della Provincia di Teramo",
['Provincia di Terni'] = "accedi alle voci di Wikipedia che parlano della Provincia di Terni",
['Provincia di Torino'] = "accedi alle voci di Wikipedia che parlano della Provincia di Torino",
['Provincia di Ogliastra'] = "accedi alle voci di Wikipedia che parlano della Provincia di Ogliastra",
['Provincia di Trapani'] = "accedi alle voci di Wikipedia che parlano della Provincia di Trapani",
['Provincia di Trento'] = "accedi alle voci di Wikipedia che parlano della Provincia di Trento",
['Provincia di Treviso'] = "accedi alle voci di Wikipedia che parlano della Provincia di Treviso",
['Provincia di Trieste'] = "accedi alle voci di Wikipedia che parlano della Provincia di Trieste",
['Provincia di Udine'] = "accedi alle voci di Wikipedia che parlano della Provincia di Udine",
['Provincia di Varese'] = "accedi alle voci di Wikipedia che parlano della Provincia di Varese",
['Provincia di Venezia'] = "accedi alle voci di Wikipedia che parlano della Provincia di Venezia",
['Provincia del Verbano-Cusio-Ossola'] = "accedi alle voci di Wikipedia che parlano della Provincia del Verbano-Cusio-Ossola",
['Provincia di Vercelli'] = "accedi alle voci di Wikipedia che parlano della Provincia di Vercelli",
['Provincia di Verona'] = "accedi alle voci di Wikipedia che parlano della Provincia di Verona",
['Provincia di Vibo Valentia'] = "accedi alle voci di Wikipedia che parlano della Provincia di Vibo Valentia",
['Provincia di Vicenza'] = "accedi alle voci di Wikipedia che parlano della Provincia di Vicenza",
['Provincia di Viterbo'] = "accedi alle voci di Wikipedia che parlano della Provincia di Viterbo",
-- regioni italiane
['Abruzzo'] = "accedi alle voci di Wikipedia che parlano dell'Abruzzo",
['Basilicata'] = "accedi alle voci di Wikipedia che parlano della Basilicata",
['Campania'] = "accedi alle voci di Wikipedia che parlano della Campania",
['Calabria'] = "accedi alle voci di Wikipedia che parlano della Calabria",
['Emilia-Romagna'] = "accedi alle voci di Wikipedia che parlano dell'Emilia-Romagna",
['Friuli-Venezia Giulia'] = "accedi alle voci di Wikipedia che parlano del Friuli-Venezia Giulia",
['Lazio'] = "accedi alle voci di Wikipedia che parlano del Lazio",
['Liguria'] = "accedi alle voci di Wikipedia che parlano della Liguria",
['Lombardia'] = "accedi alle voci di Wikipedia che parlano della Lombardia",
['Marche'] = "accedi alle voci di Wikipedia che parlano delle Marche",
['Molise'] = "accedi alle voci di Wikipedia che parlano del Molise",
['Piemonte'] = "accedi alle voci di Wikipedia che parlano del Piemonte",
['Puglia'] = "accedi alle voci di Wikipedia che parlano della Puglia",
['Sardegna'] = "accedi alle voci di Wikipedia che parlano della Sardegna",
['Sicilia'] = "accedi alle voci di Wikipedia che parlano della Sicilia",
['Toscana'] = "accedi alle voci di Wikipedia che parlano della Toscana",
['Trentino-Alto Adige'] = "accedi alle voci di Wikipedia che parlano del Trentino-Alto Adige",
['Umbria'] = "accedi alle voci di Wikipedia che parlano dell'Umbria",
['Valle d\'Aosta'] = "accedi alle voci di Wikipedia che parlano della Valle d\'Aosta",
['Veneto'] = "accedi alle voci di Wikipedia che parlano del Veneto",
}
-- funzione di utilità per aggiungere elementi a una tabella
local function dump(t, ...)
local args = {...}
for _, s in ipairs(args) do
table.insert(t, s)
end
end
-- Wrapper di mw.title.exists, verifica sia che name sia valido, sia che esista
local function titleExists(name)
local title = mw.title.new(name)
return title and title.exists
end
-- restituisce una categoria di errore solo in ns0
local function get_error_category()
return mw.title.getCurrentTitle().namespace == 0 and
'[[Categoria:Errori di compilazione del template Portale]]' or ''
end
-- funzione princpale
function p.portale(frame)
local getArgs = require('Module:Arguments').getArgs
local args = getArgs(frame, {removeBlanks = false})
local lang = mw.language.getContentLanguage()
local portals = {}
local bad_portals = {}
-- tabella per raccogliere gli errori
local errors_msg = {}
-- raccoglie in portals e bad_portals i nomi dei portali passati al modulo,
-- ignorando quelli valorizzati a stringa vuota
for i, arg in ipairs(args) do
if arg ~= '' then
if #portals < 6 then
local ucarg = lang:ucfirst(arg)
if titleExists('Portale:' .. ucarg) then
table.insert(portals, { ucname=ucarg, name=arg })
else
table.insert(bad_portals, ucarg)
end
else
dump(errors_msg, 'Il template accetta al massimo sei portali')
break
end
end
end
-- ritorna un messaggio di errore se non sono rimasti portali validi
if #portals == 0 then
return mw.getCurrentFrame():expandTemplate({
title = 'avviso',
args = { tipo = 'importante',
testo= novalid_parameter[(#bad_portals == 0 and 1) or 2]
}
}) .. get_error_category()
end
-- ordina alfabeticamente i nomi
table.sort(portals, function(a, b) return a.ucname < b.ucname end)
local reply = {
'<div class="noprint" style="width:100%; padding: 3px 0; display: flex; flex-wrap: wrap; row-gap: 4px; column-gap: ' .. portal_gap .. '; box-sizing: border-box;">'
}
-- Se un solo portale valido tratto a parte
if #portals == 1 then
local ucname = portals[1].ucname
dump(reply, '<div style="flex-grow: 1">', mw.getCurrentFrame():expandTemplate({
title = 'Occhiello',
args = { icona = portals[1].ucname,
titolo = mw.ustring.format('[[Portale:%s|Portale %s]]', ucname, ucname),
frase = single_portal[ucname] or mw.ustring.format('accedi alle voci di Wikipedia che trattano di %s', portals[1].name)
}
}), '</div>')
else -- da 2 a 6 portali
-- genero tutti gli occhielli di collegamento in una lista
local text = {}
for _,portal in ipairs(portals) do
text[#text+1] = mw.getCurrentFrame():expandTemplate({
title = 'Occhiello',
args = { icona = portal.ucname,
titolo = mw.ustring.format('[[Portale:%s|Portale %s]]', portal.ucname, portal.ucname)
}
})
end
-- carica gli occhielli generati nella tabella di layout
dump(reply, mw.ustring.format(row_portals[#portals], unpack(text)))
end
dump(reply, '</div>')
-- aggiunge i messaggi di errore per portali non esistenti
if #bad_portals > 0 then
if #bad_portals == 1 then
dump(errors_msg, mw.ustring.format('Il portale %s non esiste', bad_portals[1]))
else
dump(errors_msg, mw.ustring.format('I portali: %s non esistono', mw.text.listToText(bad_portals) ))
end
end
for pos, msg in ipairs(errors_msg) do
errors_msg[pos] = mw.ustring.format('<strong class="error">%s</strong>', msg)
end
local error_msg = table.concat(errors_msg, '<br />')
if #errors_msg > 0 then
error_msg = error_msg .. get_error_category()
end
return table.concat(reply) .. error_msg
end
return p