« Module:Message box » : différence entre les versions

De wikarphy
Linarphy (discussion | contributions)
mAucun résumé des modifications
Aucun résumé des modifications
Ligne 7 : Ligne 7 :
     local root = mw.html.create('div')
     local root = mw.html.create('div')


    root:wikitext(
        mw.getCurrentFrame():extensionTag( 'templatestyles', '', { src = 'Module:Message_box/style.css' } )
    )
     if self.image ~= nil then
     if self.image ~= nil then
         root:wikitext('[[' .. self.image .. ']]')
         root:wikitext('[[' .. self.image .. ']]')

Version du 24 février 2025 à 03:32

Ceci est un module permettant une génération rapide de boîte de message associée ou non à un icône.

L'idée provient du module du même nom sur [[1]], mais est simplifié le plus possible.

Pour utiliser ce module sans utiliser directement les modèles, qui simplifient son usage, il est nécessaire d'utiliser le code:

{{#invoke:Message box|main|<titre>|<contenu>|<icône ou rien>|<classe ou rien>}}

en remplaçant <titre> par le titre de la boîte, <contenu> par le text contenu dans la boîte (description), <icône ou rien> par le nom du fichier de l'icône, ou par aucun texte, en laissant l'argument vide (voir en l'enlevant), et <classe ou rien> par la classe souhaité pour préciser un style, ou par aucun texte, en laissant le dernier argument vide (ou en l'enlevant).

Exemples

Modèles utilisant le module:

Avertissement

alert destructive.svg

Attention

Ceci est un avertissement

Attention

alert warning.svg

Attention

Ceci est une information importante

Note

information yellow.svg

Note

Ceci est une Note

Information

information progressive.svg

Information

Ceci est une information

Astuce

information constructive.svg

Astuce

Ceci est une astuce


-- This is a meta-module for producing message box templates, inspired from mediawiki

local MessageBox= {}
local p = {}

function MessageBox:export()
    local root = mw.html.create('div')

    root:wikitext(
        mw.getCurrentFrame():extensionTag( 'templatestyles', '', { src = 'Module:Message_box/style.css' } )
    )
    if self.image ~= nil then
        root:wikitext('[[' .. self.image .. ']]')
    end
    root:tag('h4'):wikitext(self.title)
    root:tag('p'):wikitext(self.content)

    return tostring(root)
end

-- Define class
function MessageBox:new (title, content, image)
    self.__index = self
    self.title = title
    self.image = image
    self.content = content

    return self
end

function p.main(frame)
    local box = MessageBox:new(frame.args[1], frame.args[2], frame.args[3])
    return box:export()
end

return p