Module:Joueur
De Nefald
Autres actions
La documentation pour ce module peut être créée à Module:Joueur/doc
local p = {}
function p.carte(frame)
local args = frame:getParent().args
local pseudo = args[1] or args.pseudo or "steve"
local affich = args.affichage or pseudo
local grade = args.grade or ""
local texte = args.texte or ""
local hauteur = tonumber(args.hauteur) or 60
local uuid = args.uuid or ""
-- URL de l'avatar
local img_url
if uuid ~= "" then
img_url = "https://crafatar.com/avatars/" .. uuid .. "?size=120&default=MHF_Steve&overlay"
else
img_url = "https://minotar.net/avatar/" .. pseudo .. "/120"
end
local imgsize = hauteur - 8
local font_nom = math.floor((hauteur - 8) / 2.6)
local font_grade = math.floor((hauteur - 8) / 3.8)
-- Construction HTML
local html = mw.html.create("div")
html:addClass("joueur-banniere")
:css("height", hauteur .. "px")
-- Avatar
html:tag("img")
:addClass("joueur-avatar")
:attr("src", img_url)
:attr("width", imgsize)
:attr("height", imgsize)
:attr("alt", pseudo)
:done()
-- Bloc infos
local infos = html:tag("span")
:addClass("joueur-infos")
-- Nom avec lien
local lien_nom = "[[Utilisateur:" .. pseudo .. "|" .. affich .. "]]"
infos:tag("span")
:addClass("joueur-nom")
:css("font-size", font_nom .. "px")
:wikitext(lien_nom)
:done()
-- Grade (optionnel)
if grade ~= "" then
infos:tag("span")
:addClass("joueur-grade")
:css("font-size", font_grade .. "px")
:wikitext("[[" .. grade .. "]]")
:done()
end
-- Texte (optionnel)
if texte ~= "" then
infos:tag("span")
:addClass("joueur-texte")
:css("font-size", font_grade .. "px")
:wikitext(texte)
:done()
end
-- TemplateStyles
local styles = frame:extensionTag("templatestyles", "", {src = "Modèle:Joueur/styles.css"})
return styles .. tostring(html)
end
return p