Module:Infobox/Titre : Différence entre versions
Sauter à la navigation
Sauter à la recherche
m (1 révision importée) |
fr>Orlodrim (Ajout de paramètres lang, italic et setdisplaytitle (Spécial:LienPermanent/167674801#Titre en italique)) |
||
| Ligne 2 : | Ligne 2 : | ||
local trim = require( 'Module:Outils' ).trim | local trim = require( 'Module:Outils' ).trim | ||
| + | local yesno = require( 'Module:Yesno' ) | ||
function p.templatestyles( pictogramme ) | function p.templatestyles( pictogramme ) | ||
| Ligne 42 : | Ligne 43 : | ||
local texte = trim( args[1] ) or mw.title.getCurrentTitle().text | local texte = trim( args[1] ) or mw.title.getCurrentTitle().text | ||
local classes = trim( args[3] ) or 'defaut' | local classes = trim( args[3] ) or 'defaut' | ||
| − | + | local lang = args['lang'] or '' | |
| + | local italic = args['italic'] or '' | ||
| + | local setDisplayTitle = args['setdisplaytitle'] | ||
| + | |||
| + | if lang ~= '' then | ||
| + | local langueFunction = require( 'Module:Langue' ).langue | ||
| + | texte = langueFunction( { lang, texte } ) | ||
| + | end | ||
| + | if yesno(italic) then | ||
| + | classes = classes .. ' italique' | ||
| + | end | ||
| + | local displayTitleEval = '' | ||
| + | if yesno(setDisplayTitle) then | ||
| + | local setDisplayTitleFunction = require( 'Module:Formatage du titre' ).setDisplayTitle | ||
| + | displayTitleEval = setDisplayTitleFunction( { args = { lang = lang, italic = italic, options = 'noreplace' } } ) | ||
| + | end | ||
| + | |||
return 'colspan="' .. colspan .. '" ' | return 'colspan="' .. colspan .. '" ' | ||
.. 'class="entete ' .. classes .. '" ' | .. 'class="entete ' .. classes .. '" ' | ||
| Ligne 49 : | Ligne 66 : | ||
.. texte | .. texte | ||
.. p.templatestyles( args[3] ) | .. p.templatestyles( args[3] ) | ||
| + | .. displayTitleEval | ||
end | end | ||
return p | return p | ||
Version du 23 février 2020 à 11:16
La documentation pour ce module peut être créée à Module:Infobox/Titre/doc
local p = { }
local trim = require( 'Module:Outils' ).trim
local yesno = require( 'Module:Yesno' )
function p.templatestyles( pictogramme )
pictogramme = trim( pictogramme )
if not pictogramme then
return ''
end
pictogramme = trim( pictogramme
:gsub( '^entete ', '' )
:gsub( '^entete$', '' )
:gsub( ' entete$', '' )
:gsub( ' entete ', ' ' )
)
if pictogramme and pictogramme ~= 'defaut' then
if pictogramme:match( '%s' ) then
return '[[Catégorie:Infobox avec plusieurs class]]'
else
return mw.getCurrentFrame():extensionTag(
'templatestyles',
'',
{ src = 'Infobox/Pictogramme/' .. mw.text.trim( pictogramme ) .. '.css' }
)
end
end
return ''
end
function p.couleurs( background, color )
local couleur = require( 'Module:Dièse couleur web' ).couleur
background = trim( background ) or '#E1E1E1'
color = trim( color ) or 'black'
return 'background-color:' .. couleur( background ) .. ';'
.. 'color:' .. couleur( color ) .. ';'
end
function p.V2( frame )
local args = frame.getParent and frame:getParent().args or frame
local colspan = trim( args[5] ) or '2'
local texte = trim( args[1] ) or mw.title.getCurrentTitle().text
local classes = trim( args[3] ) or 'defaut'
local lang = args['lang'] or ''
local italic = args['italic'] or ''
local setDisplayTitle = args['setdisplaytitle']
if lang ~= '' then
local langueFunction = require( 'Module:Langue' ).langue
texte = langueFunction( { lang, texte } )
end
if yesno(italic) then
classes = classes .. ' italique'
end
local displayTitleEval = ''
if yesno(setDisplayTitle) then
local setDisplayTitleFunction = require( 'Module:Formatage du titre' ).setDisplayTitle
displayTitleEval = setDisplayTitleFunction( { args = { lang = lang, italic = italic, options = 'noreplace' } } )
end
return 'colspan="' .. colspan .. '" '
.. 'class="entete ' .. classes .. '" '
.. 'style="' .. p.couleurs( args[2], args[4] ) .. '" '
.. ' | '
.. texte
.. p.templatestyles( args[3] )
.. displayTitleEval
end
return p