Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.

« Module:Joueur » : différence entre les versions

De Nefald
Hiob (discussion | contributions)
Aucun résumé des modifications
Hiob (discussion | contributions)
Aucun résumé des modifications
 
(7 versions intermédiaires par le même utilisateur non affichées)
Ligne 3 : Ligne 3 :
function p.main(frame)
function p.main(frame)
local args = frame:getParent().args
local args = frame:getParent().args
local pseudo = args[1] or ''
local pseudo = mw.text.trim(args[1] or '')
local grade = args[2] or ''
local affichage = mw.text.trim(args['affichage'] or pseudo)
local alias = mw.text.trim(args['alias'] or '')
local grade = mw.text.trim(args['grade'] or '')
local texte = mw.text.trim(args['texte'] or '')
local taille = mw.text.trim(args['taille'] or '60')
local position = mw.text.trim(args['position'] or '')
local mode = mw.text.trim(args['mode'] or '')
local lien = mw.text.trim(args['lien'] or '')
if pseudo == '' then
if pseudo == '' then
return '<span class="joueur-texte">' .. (args.texte or 'Joueur inconnu') .. '</span>'
return '<span class="joueur-erreur">Pseudo requis</span>'
end
end
local titre = mw.title.new('Utilisateur:' .. pseudo)
local posClass = ''
local url_page = titre:fullUrl()
if position == 'droite' then
local url_avatar = 'https://minotar.net/avatar/' .. mw.uri.encode(pseudo, 'PATH') .. '/60?.png'
posClass = ' joueur-droite'
local container = mw.html.create('span')
elseif position == 'gauche' then
:addClass('joueur-banniere')
posClass = ' joueur-gauche'
local link = mw.html.create('span')
end
:addClass('plainlinks')
local lienClass = ''
:wikitext('[' .. url_page .. ' ')
if lien ~= '' then
local img = mw.html.create('img')
lienClass = ' joueur-lien'
:attr('src', url_avatar)
end
:attr('width', '60')
local url_avatar = 'https://minotar.net/avatar/' .. mw.uri.encode(pseudo, 'PATH') .. '/' .. taille .. '?.png'
:attr('height', '60')
local avatar = '[' .. url_avatar .. ' ' .. url_avatar .. ']'
:attr('alt', pseudo)
if mode == 'avatar' then
local infos = mw.html.create('span')
local result = {}
:addClass('joueur-infos')
table.insert(result, '<div class="joueur-avatar-seul plainlinks' .. posClass .. '" style="--joueur-h:' .. taille .. 'px">')
local nom = mw.html.create('span')
table.insert(result, avatar)
:addClass('joueur-nom')
table.insert(result, '</div>')
:wikitext(pseudo)
return frame:preprocess(table.concat(result))
infos:node(nom)
end
local aliasHtml = ''
if alias ~= '' then
aliasHtml = ' <span class="joueur-alias">' .. alias .. '</span>'
end
local result = {}
table.insert(result, '<div class="joueur-banniere plainlinks' .. posClass .. lienClass .. '" style="--joueur-h:' .. taille .. 'px">')
if lien ~= '' then
table.insert(result, '[[' .. lien .. '|<span class="joueur-lien-overlay"></span>]]')
end
table.insert(result, '<div class="joueur-avatar">')
table.insert(result, avatar)
table.insert(result, '</div>')
table.insert(result, '<div class="joueur-contenu">')
table.insert(result, '<div class="joueur-nom">' .. affichage .. aliasHtml .. '</div>')
if grade ~= '' then
if grade ~= '' then
local gradeSpan = mw.html.create('span')
table.insert(result, '<div class="joueur-grade">[[' .. grade .. ']]</div>')
:addClass('joueur-grade')
end
:wikitext(grade)
if texte ~= '' then
infos:node(gradeSpan)
table.insert(result, '<div class="joueur-texte">' .. texte .. '</div>')
end
end
link:node(img):node(infos):wikitext(']')
table.insert(result, '</div>')
container:node(link)
table.insert(result, '</div>')
return tostring(container)
return frame:preprocess(table.concat(result))
end
end


return p
return p

Dernière version du 20 février 2026 à 15:38

La documentation pour ce module peut être créée à Module:Joueur/doc

local p = {}

function p.main(frame)
local args = frame:getParent().args
local pseudo = mw.text.trim(args[1] or '')
local affichage = mw.text.trim(args['affichage'] or pseudo)
local alias = mw.text.trim(args['alias'] or '')
local grade = mw.text.trim(args['grade'] or '')
local texte = mw.text.trim(args['texte'] or '')
local taille = mw.text.trim(args['taille'] or '60')
local position = mw.text.trim(args['position'] or '')
local mode = mw.text.trim(args['mode'] or '')
local lien = mw.text.trim(args['lien'] or '')
if pseudo == '' then
return '<span class="joueur-erreur">Pseudo requis</span>'
end
local posClass = ''
if position == 'droite' then
posClass = ' joueur-droite'
elseif position == 'gauche' then
posClass = ' joueur-gauche'
end
local lienClass = ''
if lien ~= '' then
lienClass = ' joueur-lien'
end
local url_avatar = 'https://minotar.net/avatar/' .. mw.uri.encode(pseudo, 'PATH') .. '/' .. taille .. '?.png'
local avatar = '[' .. url_avatar .. ' ' .. url_avatar .. ']'
if mode == 'avatar' then
local result = {}
table.insert(result, '<div class="joueur-avatar-seul plainlinks' .. posClass .. '" style="--joueur-h:' .. taille .. 'px">')
table.insert(result, avatar)
table.insert(result, '</div>')
return frame:preprocess(table.concat(result))
end
local aliasHtml = ''
if alias ~= '' then
aliasHtml = ' <span class="joueur-alias">' .. alias .. '</span>'
end
local result = {}
table.insert(result, '<div class="joueur-banniere plainlinks' .. posClass .. lienClass .. '" style="--joueur-h:' .. taille .. 'px">')
if lien ~= '' then
table.insert(result, '[[' .. lien .. '|<span class="joueur-lien-overlay"></span>]]')
end
table.insert(result, '<div class="joueur-avatar">')
table.insert(result, avatar)
table.insert(result, '</div>')
table.insert(result, '<div class="joueur-contenu">')
table.insert(result, '<div class="joueur-nom">' .. affichage .. aliasHtml .. '</div>')
if grade ~= '' then
table.insert(result, '<div class="joueur-grade">[[' .. grade .. ']]</div>')
end
if texte ~= '' then
table.insert(result, '<div class="joueur-texte">' .. texte .. '</div>')
end
table.insert(result, '</div>')
table.insert(result, '</div>')
return frame:preprocess(table.concat(result))
end

return p
Les témoins (''cookies'') nous aident à fournir nos services. En utilisant nos services, vous acceptez notre utilisation de témoins.