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
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)
-- prefisso_progetto, prefisso del progetto
wikisource = {10, 's:', 'Wikisource', false, 'Wikisource-logo.svg', '18px', 'Collabora a Wikisource', ' contiene ', 'opere originali ', 'di o su'},▼
-- nome_progetto, nome visualizzato del progetto
-- logo del progetto
wikiquote = {30, 'q:', 'Wikiquote', false },▼
-- dimensioni del logo
wikibooks = {40, 'wikibooks:', 'Wikibooks', false },▼
-- testo di invito a collaborare
ricetta = {50, 'b:Libro di cucina/Ricette/', 'Ricetta<br />(Wikibooks)', false },▼
-- testo standard ' contiene '
wiktionary = {60, 'wiktionary:', 'Wikizionario', false},▼
-- testo standard che identifica il contenuto ('opere originali', 'ricette', ecc..)
v = {70, 'v:', 'Wikiversità', false},▼
wikinews = {80, 'wikinews:', 'Wikinotizie', false},▼
local default_parameter ={
commons = {90, 'commons:', 'Commons', 'it'},▼
▲
wikispecies = {110, 'wikispecies:', 'Wikispecies', 'it'},▼
incubator = {13, 'incubator:', 'Incubator', 'it'},
}
-- 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
local alias = {
s = {1, 'wikisource'},
Riga 41 ⟶ 50:
if t1[1] < t2[1] then
return true
end▼
priority, prefix, label, lang = unpack(parametri)▼
if lang then▼
return '* [' .. mw.getCurrentFrame():extensionTag('fullurl', prefix .. nome_voce, {})▼
else▼
return '* [[' .. prefix .. nome_voce .. '|' .. label .. ']]'▼
end
end
Riga 56 ⟶ 55:
local function RenderLeftBar()
-- Crea la barra di sinistra con i link interprogetto
-- TODO if args.notizia then return end
-- costruisce le righe per la barra di sinistra
local left_rows = { }▼
if alias[k] then▼
priority_fix = alias[k][1]▼
k = alias[k]▼
if prefix_links[k] then▼
table.sort(left_rows, sort_by_priority)▼
local leftbar = HtmlBuilder.create()
for k,
▲ if lang then
▲
▲ else
leftbar.newline()
end
Riga 97 ⟶ 86:
root = HtmlBuilder.create()
RenderLeftBar()
--RenderLinkInText()
return tostring(root)
end
Riga 112 ⟶ 101:
-- Carico i parametri
current_page = mw.title.getCurrentTitle().text
for k, v in pairs(origArgs) do
-- controlla se è un parametro posizionale e in questo caso la memorizza come
-- chiave con valore pari al nome della pagina corrente
local
if
▲ if alias[k] then
▲ end
table.insert(progetto, default_parameter[k][1] + supriority / 10)
table.insert(progetto, v)
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(progetti, progetto)
end
end
return _interprogetto()
end
|