Modulo:Interprogetto: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 7:
local root -- radice del markup html
local log= '' -- per debug
local function add_space(s)▼
--ritorna uno spazio se l'ultimo carattere non è un accento o un "«"▼
if mw.ustring.sub(s, -1) == "'" or mw.ustring.sub(s, -1)=='«' then▼
return ''▼
else▼
return ' '▼
end▼
end▼
local function Link(intext, progetto)
_, _, prefix, nome_progetto, _
vapri, vchiudi, lingua = unpack(progetto)▼
text =
_, _, prefix, nome_progetto, nome_leftbar, etichetta = unpack(progetto)
text =
return text
end
local function LinkWithLanguage(intext, progetto)
if intext then
_, _, prefix, nome_progetto, _, etichetta, icona, dimensione_icona, testo_iniziale, opere, preposizione,
vapri, vchiudi, lingua = unpack(progetto)
text =
_, _, prefix, nome_progetto, nome_leftbar, etichetta = unpack(progetto)
text =
return text
end
local function LinkNotizia(intext, progetto)
if intext then
_, _, prefix, nome_progetto, _, etichetta, icona, dimensione_icona, testo_iniziale, opere, preposizione,
vapri, vchiudi, lingua = unpack(progetto)
text = table.concat({'* [[File:', icona, '|link=', prefix, '|', dimensione_icona,'|Collabora a ', nome_progetto,
"]]", ' ', testo_iniziale, "'''[[", prefix, nome_progetto, '|', nome_progetto, "]]''': ",
"'''[[", prefix, etichetta, '|', etichetta, "]]'''" })
else
text = ''
end
return text
end
-- default_parameter: contiene i valori di default dei parametri
-- priorità: ordine di priorità in cui visualizzare il link (un numero intero)
-- funzione da richiamare per inserire i link
-- prefisso_progetto: prefisso da usare per i link del progetto
-- nome_progetto: nome del progetto
-- nome_leftbar: nome da usare per il collegamento nella barra di sinistra (falso se coincide con
-- il nome del progetto, altrimenti una stringa, da usare per esempio per wikiricette)
-- etichetta: se diversa da falso è l'etichetta visualizzata nel collegamento del testo, che non
-- viene modificata da eventuali parametri, se è falsa l'
-- della pagina o al valore impostato dal parametro "etichetta"
-- (usata da wikiricette che visualizza sempre "ricette" come etichetta per il collegamento)
Riga 43 ⟶ 96:
local default_parameter ={
wikisource = {1, Link, 'wikisource:', 'Wikisource'
s = {2, Link, 's:', 'Wikisource', false,
s2 = {3, Link, 's:', 'Wikisource', false,
testo = {4, Link, 's:', 'Wikisource', false,
wikiquote = {5, Link, 'wikiquote:', 'Wikiquote', false,
q = {6, Link, 'q:', 'Wikiquote', false,
q2= {7, Link, 'q:', 'Wikiquote', false,
wikibooks = {8, Link, 'wikibooks:', 'Wikibooks', false,
b = {9, Link, 'b:', 'Wikibooks', false,
ricetta = {10, Link, 'b:Libro di cucina/Ricette/', 'Wikibooks', 'Ricette',
wiktionary = {11, Link, 'wiktionary:', 'Wikizionario', false,
wikt = {12, Link, 'wikt:', 'Wikizionario', false,
v = {13, Link, 'v:', 'Wikiversità', false,
wikinews = {14, Link, 'wikinews:', 'Wikinotizie', false,
n = {15, Link, 'n:', 'Wikinotizie', false,
notizia = {16, LinkNotizia, 'n:', 'Wikinotizie', false,
commons = {17, LinkWithLanguage, 'commons:', 'Commons', false,
meta = {18, LinkWithLanguage, 'meta:', 'Meta-Wiki', false,
m = {19, LinkWithLanguage, 'm:', 'Meta-Wiki', false,
wikispecies = {20, LinkWithLanguage, 'wikispecies:', 'Wikispecies', false,
-- incubator = {13, 'incubator:', 'Incubator', 'it', false}, --TODO
voy = {22, Link, 'voy:', 'Wikivoyage', false,
}
-- nota oldwikisource rimosso, stando a http://toolserver.org/~kolossos/templatetiger/template-parameter.php?template=interprogetto&lang=itwiki non usato
Riga 88 ⟶ 141:
return default_value
end
▲local function add_space(s)
▲ --ritorna uno spazio se l'ultimo carattere non è un accento o un "«"
▲ if mw.ustring.sub(s, -1) == "'" or mw.ustring.sub(s, -1)=='«' then
▲ return ''
▲ else
▲ return ' '
▲ end
▲end
local function RenderLeftBar()
-- Crea la barra di sinistra con i link interprogetto
Riga 104 ⟶ 148:
local leftbar = HtmlBuilder.create()
for k, progetto in pairs(progetti) do
leftbar.wikitext(link(false, progetto))
▲ if lang then
▲ leftbar.wikitext(table.concat({'* [', tostring(mw.uri.fullUrl(prefix .. etichetta, {uselang='it'})),
▲ ' ', nome_leftbar or nome_progetto, ']'}))
▲ else
▲ leftbar.wikitext(table.concat({'* [[', prefix, etichetta, '|', nome_leftbar or nome_progetto, ']]'}))
▲ end
if nome_leftbar then
leftbar.wikitext(table.concat({'<br />(', nome_progetto, ')'}))
Riga 127 ⟶ 166:
end
local function
-- produce il codice html per l'elenco puntato
for k, progetto in pairs(progetti) do
_, link = unpack(progetto)
▲ _, prefix, nome_progetto, _, lingua_interfaccia, etichetta, icona, dimensione_icona, testo_iniziale, opere, preposizione,
▲ vapri, vchiudi, lingua = unpack(progetto)
root.newline()
root.wikitext(link(true, progetto))
▲ root.wikitext(table.concat({'* [[File:', icona, '|link=', prefix, '|', dimensione_icona, '|Collabora a ', nome_progetto,
▲ "]]", ' ', testo_iniziale, "'''<span class=\"plainlinks\">[", tostring(mw.uri.fullUrl(prefix .. 'Pagina principale',
▲ {uselang='it'})), ' ', nome_progetto, "]</span>''' contiene ", opere, ' ', preposizione,
▲ add_space(preposizione), vapri, "'''<span class=\"plainlinks\">[",
▲ tostring(mw.uri.fullUrl(prefix .. etichetta, {uselang='it'})), ' ',
▲ etichetta, "]<span class=\"plainlinks\">'''", vchiudi }))
▲ else
▲ root.wikitext(table.concat({'* [[File:', icona, '|link=', prefix, '|', dimensione_icona,'|Collabora a ', nome_progetto,
▲ "]]", ' ', testo_iniziale, "'''[[", prefix, nome_progetto, '|', nome_progetto, "]]''' contiene ", opere, ' ', lingua,
▲ preposizione, add_space(preposizione), vapri, "'''[[", prefix, etichetta, '|',
▲ etichetta, "]]'''", vchiudi }))
▲ end
end
root.newline()
Riga 176 ⟶ 202:
if default_parameter[k] then
table.insert(progetto, default_parameter[k][1]) --priority
table.insert(progetto, default_parameter[k][2])
table.insert(progetto, default_parameter[k][3]) --
table.insert(progetto, default_parameter[k][4]) -- nome
table.insert(progetto, default_parameter[k][5]) --
if default_parameter[k][6] then -- se inserire una descrizione standard per l'etichetta piuttosto che il valore impostato nei parametri
table.insert(progetto, default_parameter[k][6])
Riga 213 ⟶ 239:
RenderLeftBar()
if not origArgs.nolink then
end
return tostring(root)
|