« Module:MinecraftConnect » : différence entre les versions
De Nefald
Autres actions
m échappement |
m preprocess |
||
| Ligne 4 : | Ligne 4 : | ||
local args = frame:getParent().args | local args = frame:getParent().args | ||
local serveur = mw.text.trim(args.serveur or '') | local serveur = mw.text.trim(args.serveur or '') | ||
local port = mw.text.trim(args.port or ':25565') | local port = mw.text.trim(args.port or ':25565') | ||
| Ligne 12 : | Ligne 11 : | ||
local align = mw.text.trim(args.align or '') | local align = mw.text.trim(args.align or '') | ||
local classWrapper = 'mc-connect-wrapper mc-connect--' .. color | local classWrapper = 'mc-connect-wrapper mc-connect--' .. color | ||
if align ~= '' then | if align ~= '' then | ||
| Ligne 18 : | Ligne 16 : | ||
end | end | ||
local serverAddress = serveur .. port | local serverAddress = serveur .. port | ||
-- Construction | -- Image Wikitext | ||
local | local imageWikitext = frame:preprocess('[[Fichier:' .. image .. '|40px|link=|alt=Minecraft]]') | ||
: | |||
-- Construction HTML | |||
local html = mw.html.create('div') | |||
:addClass(classWrapper) | |||
:attr('data-server', serverAddress) | :attr('data-server', serverAddress) | ||
:node( | |||
mw.html.create('button') | |||
:addClass('mc-connect-btn') | |||
:attr('onclick', 'copyMinecraftServer(this)') | |||
:attr('aria-label', "Copier l'adresse du serveur") | |||
:node( | |||
mw.html.create('div') | |||
:addClass('mc-connect-content') | |||
:wikitext(imageWikitext .. " '''" .. texte .. "'''") | |||
) | |||
) | |||
:node( | |||
mw.html.create('span') | |||
:addClass('mc-connect-feedback') | |||
:wikitext('✓ Copié !') | |||
) | |||
local styles = frame:extensionTag('templatestyles', '', {src='MinecraftConnect/styles.css'}) | local styles = frame:extensionTag('templatestyles', '', {src='MinecraftConnect/styles.css'}) | ||
return styles .. tostring(html) | |||
return styles .. tostring( | |||
end | end | ||
return p | return p | ||
Version du 10 novembre 2025 à 08:40
La documentation pour ce module peut être créée à Module:MinecraftConnect/doc
local p = {}
function p.render(frame)
local args = frame:getParent().args
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 '')
local classWrapper = 'mc-connect-wrapper mc-connect--' .. color
if align ~= '' then
classWrapper = classWrapper .. ' mc-connect--align-' .. align
end
local serverAddress = serveur .. port
-- Image Wikitext
local imageWikitext = frame:preprocess('[[Fichier:' .. image .. '|40px|link=|alt=Minecraft]]')
-- Construction HTML
local html = mw.html.create('div')
:addClass(classWrapper)
:attr('data-server', serverAddress)
:node(
mw.html.create('button')
:addClass('mc-connect-btn')
:attr('onclick', 'copyMinecraftServer(this)')
:attr('aria-label', "Copier l'adresse du serveur")
:node(
mw.html.create('div')
:addClass('mc-connect-content')
:wikitext(imageWikitext .. " '''" .. texte .. "'''")
)
)
:node(
mw.html.create('span')
:addClass('mc-connect-feedback')
:wikitext('✓ Copié !')
)
local styles = frame:extensionTag('templatestyles', '', {src='MinecraftConnect/styles.css'})
return styles .. tostring(html)
end
return p