Modulo:StagioniTV/sandbox: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
fix corsivo
Nessun oggetto della modifica
Riga 10:
local p = {}
 
---- sotto-funzione per restituire l'ordinale femminile nella costruzione dei collegamenti
local function ordinalefemminile(num)
return mw.getCurrentFrame():expandTemplate {
Riga 15 ⟶ 16:
args = { num }
}
end
 
---- sotto-funzione per evitare potenziali errori restituendo il titolo del template in corsivo in presenza di "'"'
local function safe_for_italics( str )
if etichettastr and str ~= nil'' then
if str:sub(1,1) == "'" then str = "<span></span>" .. str; end
if str:sub(-1,-1) == "'" then str = str .. "<span></span>"; end
-- Remove newlines as they break italics.
str = str:gsub( '\n', ' ' );
return "''" .. str .. "''"
end
end
 
---- evitandosotto-funzione per evitare il corsivo per ilnel titolo del template se il titolo dellaquando seriesono usapresenti caratteri speciali/non latini
local function titolo_template( sitelink, etichetta )
if etichetta ~= nil and etichetta ~= '' then
local corsivo = true
for pos = 1, mw.ustring.len(etichetta) do
local charval = mw.ustring.codepoint(etichetta, pos)
if (charval>=370 and charval<2000) or (charval>=2100 and charval~=8364) then
corsivo = false
break
end
end
etichetta = (corsivo and safe_for_italics(etichetta)) or etichetta
local no_corsivo titolotemplate = stringmw.ustring.format("[[%s|<span style=\"color:white;\">%s</span>]]", sitelink, etichetta)
end
localreturn titolotemplate
end
 
Riga 184 ⟶ 213:
end
 
---- evitando il corsivo per il titolo del template se il titolo della serie usa caratteri speciali/non latini
local titolotemplate
local no_corsivo = string.format("[[%s|<span style=\"color:white;\">%s</span>]]", sitelink, etichetta)
local corsivo = string.format("[[%s|<span style=\"color:white;\">''%s''</span>]]", sitelink, etichetta)
if etichetta ~= nil then
titolotemplate = corsivo
for pos = 1, mw.ustring.len(etichetta) do
local charval = mw.ustring.codepoint(etichetta, pos)
if (charval>=370 and charval<2000) or (charval>=2100 and charval~=8364) then
titolotemplate = no_corsivo
break
end
end
end
---- se sono presenti più di una stagione/edizione genera il navbox, altrimenti solo la categoria
---- se è richiesto solo l'elenco dei collegamenti genera solo i link, utile per l'inclusione in altri template
Riga 211 ⟶ 224:
template = navbox._navbox({
name = 'StagioniTV',
title = titolotemplatetitolo_template(sitelink, etichetta),
titlestyle = sfondo,
image = string.format("[[File:Blue pencil.svg |frameless |12px |alt=Modifica su Wikidata|link=https://www.wikidata.org/wiki/%s#P2437|Modifica su Wikidata]]", id),