Modulo:Interprogetto: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Moroboshi (discussione | contributi)
Nessun oggetto della modifica
Moroboshi (discussione | contributi)
Nessun oggetto della modifica
Riga 2:
--TODO gestione speciale per notizia
local p = {} -- per l'esportazione delle funzioni del modulo
 
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
-- priorità, un numero intero (più basso è prima compare il link al progetto)
Riga 21:
-- 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', '', ''},
Riga 27:
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/', 'Wikibooks', 'Ricette', false, 'Wikibooks-logo.svg', '22px', "Il ''[[b:Libro di cucina|Libro di cucina]]'' di ", 'Wikibooks-logo.svg', '22px', 'ricette', 'relative a questo argomento', '', '' }, --TODO rivedere
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', '', ''},
Riga 35:
wikispecies = {12, 'wikispecies:', 'Wikispecies', false, 'it', 'WikiSpecies notext.svg', '21px', '', 'informazioni', 'su', '', ''},
-- incubator = {13, 'incubator:', 'Incubator', 'it'},
voy = {14, 'voy:', 'Wikivoyage', false, false, 'Wikivoyage-logo.svg', '18px', '', 'informazioni turistiche', 'su', '', ''}
}
 
-- nota oldwikisource rimosso, stando a http://toolserver.org/~kolossos/templatetiger/template-parameter.php?template=interprogetto&lang=itwiki non usato
-- il primo parametro è la priorità di comparsa dell'alias rispetto ad altri alias dello stesso
Riga 48:
n = {1, 'wikinotizie'}
}
 
local function trim(s)
-- ritorna la stringa senza spazi iniziali o finali
Riga 55:
return s:match'^()%s*$' and '' or s:match'^%s*(.*%S)'
end
 
local function sort_by_priority(t1, t2)
-- per ordinare una tabella in base al valore del primo elemento della tabella
Riga 62:
end
end
 
local function default_value(value, default_value)
-- ritorna default_value se il valore è nil o stringa vuota
Riga 68:
return default_value
end
 
local function add_space(s)
--ritorna uno spazio se l'ultimo carattere non è un accento o un "«"
Riga 74:
return ''
else
return ' '
end
end
 
local function RenderLeftBar()
-- Crea la barra di sinistra con i link interprogetto
Riga 104:
.attr('title', 'Collegamenti verso gli altri progetti Wikimedia')
.node(leftbar)
 
end
 
local function RenderLinkInText()
-- produce il codice html per l'elenco puntato
Riga 129:
root.newline()
end
 
function p.interprogetto(frame)
local origArgs
Riga 139:
origArgs = frame
end
 
-- Carico i parametri
local etichetta = default_value(origArgs.etichetta, mw.title.getCurrentTitle().text)
local preposizione = default_value(origArgs.preposizione, nil)
local oggetto = default_value(origArgs.oggetto, nil)
 
for k, v in pairs(origArgs) do
-- controlla se è un parametro posizionale e in questo caso la memorizza come
Riga 184:
return tostring(root)
end
 
return p