Modulo:Interprogetto: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 4:
local HtmlBuilder = require('Module:HtmlBuilder') -- richiesto per la costruzione del markup html
local progetti={} -- dati da usare per la costruzione delle righe dell'elenco di link ai progetti
local root -- radice del markup html
local log= '' -- per debug
-- Valori di default dei parametri
--
--
--
-- nome_leftbar, nome da usare per il collegamento nella barra di sinistra (falso o quello da premettere al nome progetto)
--
--
-- dimensioni del logo
-- etichetta standard per il contenuto ('opere originali', 'testi o manuali', ecc..)▼
-- testo_iniziale, eventuale testo
-- testo standard che identifica il contenuto ('opere originali', 'ricette', ecc..)
-- virgolette di apertura intorno all'etichetta
-- virgolette di chiusura intorno all'etichetta
local default_parameter ={
wikisource = {1, 's:', 'Wikisource', false, false, 'Wikisource-logo.svg', '18px', '', 'opere originali ', 'di o su', '', ''},
testo = {2, 's:', '
wikiquote = {3, 'q:', 'Wikiquote', false, false, 'Wikiquote-logo.svg', '18px', '', 'citazioni', 'di o su', '', '' },
wikibooks = {4, 'wikibooks:', 'Wikibooks', false, false, 'Wikibooks-logo.svg', '22px', '', 'testi o manuali', 'su', '', '' },
ricetta = {5, 'b:Libro di cucina/Ricette/', '
wiktionary = {6, 'wiktionary:', 'Wikizionario', false, false, 'Wiktionary small.svg', '18px', '', 'il lemma di dizionario', false, '«', '»'},
v = {7, 'v:', 'Wikiversità', false, false, 'Wikiversity-logo-It.svg', '18px', '', 'informazioni', 'su', '', ''},
wikinews = {8, 'wikinews:', 'Wikinotizie', false, false, 'Wikinews-logo.svg', '25px', '', 'notizie di attualità', 'su', '', ''},
commons = {9, 'commons:', 'Commons', false, 'it', 'Commons-logo.svg', '18px', '', 'immagini o altri file', 'su', '', ''},
meta = {11, 'meta:', 'Meta-Wiki', false, 'it', 'Wikimedia Community Logo.svg', '18px', '', 'informazioni', 'su', '', ''},
wikispecies = {12, 'wikispecies:', 'Wikispecies', false, 'it', 'WikiSpecies notext.svg', '21px', '', 'informazioni', 'su', '', ''},
-- incubator = {13, 'incubator:', 'Incubator', 'it'},
voy = {14, 'voy:', 'Wikivoyage', false, 'Wikivoyage-logo.svg', '18px', '', 'informazioni turistiche', 'su', '', ''}
}
Riga 70:
local function add_space(s)
--
if mw.ustring.sub(s, -1) == "'" or mw.ustring.sub(s, -1)=='«' then
return ' '
end
Riga 80:
local function RenderLeftBar()
-- Crea la barra di sinistra con i link interprogetto
--
-- costruisce le righe per la barra di sinistra
local leftbar = HtmlBuilder.create()
for k, progetto in pairs(progetti) do
priority, prefix, nome_progetto, nome_leftbar, lang, etichetta = unpack(progetto)
if lang then
leftbar.wikitext(table.concat({'* [', tostring(mw.uri.fullUrl(prefix .. etichetta, {uselang=lang})),
' ', nome_leftbar or nome_progetto, ']'}))
else
leftbar.wikitext(table.concat({'* [[', prefix, etichetta, '|', nome_leftbar or nome_progetto, ']]'}))
end▼
leftbar.wikitext(table.concat({'<br />(', nome_progetto, ')'}))
end
leftbar.newline()
Riga 107 ⟶ 110:
-- produce il codice html per l'elenco puntato
for k, progetto in pairs(progetti) do
vapri, vchiudi = unpack(progetto) root.newline()
if lang then
Riga 137 ⟶ 141:
-- Carico i parametri
local etichetta = default_value(origArgs.etichetta,
local
local oggetto = default_value(origArgs.oggetto, nil)
Riga 149 ⟶ 153:
k = trim(v) -- elimino eventuali spazi iniziali e finali
v = etichetta
▲ end
▲ if alias[k] then
end
if default_parameter[k] then
table.insert(progetto, default_parameter[k][1])
table.insert(progetto, default_parameter[k][2]) -- prefix
table.insert(progetto, default_parameter[k][3]) -- nome progetto
table.insert(progetto, default_parameter[k][4]) --
table.insert(progetto, default_parameter[k][5]) --
table.insert(progetto,
table.insert(progetto,
table.insert(progetto, default_value(origArgs[k .. '_oggetto'], oggetto) or default_parameter[k][9])
if default_parameter[k][10] then -- se la preposizione di default ha valore false (piuttosto che essere una stringa non la sostituisco)
table.insert(progetto, default_value(origArgs[k .. '_preposizione'], preposizione) or default_parameter[k][10])
else
table.insert(progetto, '')
end
table.insert(progetto, default_value(origArgs[
table.insert(progetto, default_parameter[k][
table.insert(progetto, default_parameter[k][
table.insert(progetti, progetto)
end
|