« Module:Joueur » : différence entre les versions
De Nefald
Autres actions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
| (4 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 5 : | Ligne 5 : | ||
local pseudo = mw.text.trim(args[1] or '') | local pseudo = mw.text.trim(args[1] or '') | ||
local affichage = mw.text.trim(args['affichage'] or pseudo) | 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 grade = mw.text.trim(args['grade'] or '') | ||
local texte = mw.text.trim(args['texte'] or '') | local texte = mw.text.trim(args['texte'] or '') | ||
local taille = mw.text.trim(args['taille'] or '60') | 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-erreur">Pseudo requis</span>' | 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 | end | ||
local url_avatar = 'https://minotar.net/avatar/' .. mw.uri.encode(pseudo, 'PATH') .. '/' .. taille .. '?.png' | local url_avatar = 'https://minotar.net/avatar/' .. mw.uri.encode(pseudo, 'PATH') .. '/' .. taille .. '?.png' | ||
local avatar = '[' .. url_avatar .. ' ' .. url_avatar .. ']' | 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 = {} | local result = {} | ||
table.insert(result, '<div class="joueur-banniere plainlinks" style="--joueur-h:' .. taille .. 'px">') | 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, '<div class="joueur-avatar">') | ||
table.insert(result, avatar) | table.insert(result, avatar) | ||
table.insert(result, '</div>') | table.insert(result, '</div>') | ||
table.insert(result, '<div class="joueur-contenu">') | table.insert(result, '<div class="joueur-contenu">') | ||
table.insert(result, '<div class="joueur-nom">' .. affichage .. '</div>') | table.insert(result, '<div class="joueur-nom">' .. affichage .. aliasHtml .. '</div>') | ||
if grade ~= '' then | if grade ~= '' then | ||
table.insert(result, '<div class="joueur-grade">[[' .. grade .. ']]</div>') | table.insert(result, '<div class="joueur-grade">[[' .. grade .. ']]</div>') | ||
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