Module:MinecraftConnect
De Nefald
Autres actions
La documentation pour ce module peut être créée à Module:MinecraftConnect/doc
local p = {}
function p.render(frame)
local args = frame:getParent().args
-- Récupération des paramètres
local serveur = mw.text.trim(args.serveur or '')
local port = mw.text.trim(args.port or ':25565')
local texte = mw.text.trim(args.texte or "Copier l'adresse")
local image = mw.text.trim(args.image or 'Minecraft-icon.svg')
local color = mw.text.trim(args.color or 'minecraft')
local align = mw.text.trim(args.align or '')
-- Construction de la classe CSS
local classWrapper = 'mc-connect-wrapper mc-connect--' .. color
if align ~= '' then
classWrapper = classWrapper .. ' mc-connect--align-' .. align
end
-- Adresse serveur complète
local serverAddress = serveur .. port
-- Construction du HTML avec mw.html
local html = mw.html.create('div')
:addClass(classWrapper)
:attr('data-server', serverAddress)
-- Bouton
local button = html:tag('button')
:addClass('mc-connect-btn')
:attr('onclick', 'copyMinecraftServer(this)')
:attr('aria-label', "Copier l'adresse du serveur")
-- Contenu du bouton
local content = button:tag('div')
:addClass('mc-connect-content')
-- Image
content:wikitext('[[Fichier:' .. image .. '|40px|link=|alt=Minecraft]] ')
-- Texte en gras
content:tag('strong'):wikitext(texte)
-- Message de feedback
html:tag('span')
:addClass('mc-connect-feedback')
:wikitext('✓ Copié !')
-- Ajout du TemplateStyles
local styles = frame:extensionTag('templatestyles', '', {src='MinecraftConnect/styles.css'})
return styles .. tostring(html)
end
return p