Module:Message box

De wikarphy

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

Erreur Lua à la ligne 9 : attempt to index local 'root' (a nil value).

Attention

Erreur Lua à la ligne 9 : attempt to index local 'root' (a nil value).

Note

Erreur Lua à la ligne 9 : attempt to index local 'root' (a nil value).

Information

Erreur Lua à la ligne 9 : attempt to index local 'root' (a nil value).

Astuce

Erreur Lua à la ligne 9 : attempt to index local 'root' (a nil value).


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

local MessageBox= {}
local p = {}

function MessageBox:export()
    local root = frame

    local article = root:tag('div')
    if self.image ~= nil then
        article:wikitext('[[' .. self.image .. ']]')
    end
    article:tag('h4'):wikitext(self.title)
    article:tag('p'):wikitext(self.content)

    return tostring(root)
end

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

    return self
end

function p.main(frame, title, content, image)
    local box = MessageBox:new(frame, title, content, image)
    return box:export()
end

return p