« Module:Joueur » : différence entre les versions
De Nefald
Autres actions
Aucun résumé des modifications |
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[ | 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- | return '<span class="joueur-erreur">Pseudo requis</span>' | ||
end | end | ||
local | local posClass = '' | ||
local | if position == 'droite' then | ||
local url_avatar = 'https://minotar.net/avatar/' .. mw.uri.encode(pseudo, 'PATH') .. '/ | posClass = ' joueur-droite' | ||
local | elseif position == 'gauche' then | ||
posClass = ' joueur-gauche' | |||
end | |||
: | local lienClass = '' | ||
if lien ~= '' then | |||
local | 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 | 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 | end | ||
table.insert(result, '</div>') | |||
table.insert(result, '</div>') | |||
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