Module:Fix/Bac à sable
Apparence
[voir] [modifier] [historique] [purger]
Module utilisé par le métamodèle {{Fix}}, et indirectement par le modèle {{Référence nécessaire}} et dérivés.
La documentation de ce module est générée par le modèle {{Documentation module}}.
Elle est incluse depuis sa sous-page de documentation. Veuillez placer les catégories sur cette page-là.
Les éditeurs peuvent travailler dans le bac à sable (modifier).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
local p = {}
function p.affichageBloc( args )
local background = args.background or ''
if background == '' then
background = 'white'
end
local html = mw.html.create( '' )
:wikitext( '\n' )
:tag( 'div' )
:cssText( 'position:relative; margin-top:0.8em;')
:tag( 'div' )
:addClass( 'need_ref' )
:cssText( 'cursor:help; overflow:hidden; padding-bottom:0;' )
:css{ background = background }
:attr{ title = args.titre }
:wikitext( args[1], '\n' )
:done()
:tag( 'div' )
:addClass( 'need_ref_tag' )
:cssText( 'position:absolute; top:-0.6em; left:1em; padding:0 0.5em; font-size:80%; line-height:1em;')
:css{ background = background }
:wikitext( args.message2 )
:allDone()
return tostring( html )
end
function p.affichageInline( args )
local html = mw.html.create( '' )
if args[1] and mw.text.trim(args[1]) ~= '' then
html:tag( 'span' )
:addClass( 'need_ref' )
:cssText( 'cursor:help;' )
:attr{ title = args.titre }
:wikitext( args[1] )
:done()
html:tag( 'sup' )
:addClass( 'need_ref_tag' )
:cssText ( 'padding-left:2px;' )
:wikitext( args.message2 )
:allDone()
else
html:tag( 'sup' )
:addClass( 'need_ref_tag' )
:cssText ( 'padding-left:2px;' )
:attr{ title = args.titre }
:wikitext( args.message2 )
:allDone()
end
return tostring( html )
end
function p.affichageFix( frame )
local args = frame.getParent and frame:getParent().args or frame
local messageDate = ''
local messageAide = ' ; v'
if args.date and args.date ~= '' then
messageDate = ' (demandé le ' .. args.date .. ')'
else
local infobulle_texte= mw.text.trim((args.infobulle or ''):gsub( '%b<>', '' ))
if infobulle_texte ~= '' then
if infobulle_texte:match( '[!?]$' ) then
messageAide = ' V'
end
else
messageAide = 'V'
end
end
messageAide = messageAide .. 'oir l\'aide'
args.titre = mw.text.trim(( args.infobulle or '' ):gsub( '[,.;:]$', '' )) .. messageDate .. messageAide .. '.'
if args.message and mw.text.trim(args.message) ~= '' then
args.message2= "[" .. args.message .. "]"
else
args.message2= args.message
end
if args[1] and args[1] ~= '' then
if args[1]:match('\n[ \t]*\n')
or args[1]:match('\n[*#:]')
or args.bloc and args.bloc ~= ''
then
return p.affichageBloc( args )
end
end
return p.affichageInline( args )
end
return p