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

De wikarphy
Linarphy (discussion | contributions)
Aucun résumé des modifications
Linarphy (discussion | contributions)
m fix typo
 
(29 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
-- This is a meta-module for producing message box templates, inspired from mediawiki
-- This is a meta-module for producing message box templates, inspired from mediawiki


local MessageBox = {}
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' } )
    )
    root:addClass('box')
    if self.class ~= nil then
        root:addClass(self.class)
    end
    local left = root:tag('div'):addClass('left')
    local right = root:tag('div'):addClass('right')
    if self.image ~= nil then
        left:wikitext('[[File:' .. self.image .. ']]')
    end
    left:tag('h4'):wikitext(self.title)
    right:tag('p'):wikitext(self.content)
 
    return tostring(root)
end


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


function MessageBox:export()
function p.main(frame)
    local root = mw.html.create()
     local box = MessageBox:new(frame.args[1], frame.args[2], frame.args[3], frame.args[4])
 
     return box:export()
     local article = root:tag('article')
    article:wikitext('[[' .. self.image .. ']]')
     article:tag('h4'):wikitext(self.title)
    article:tag('p'):wikitext(self.content)
end
end


return MessageBox
return p

Dernière version du 26 février 2025 à 01:55

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[modifier le wikicode]

Modèles utilisant le module:

Avertissement[modifier le wikicode]

Attention

Ceci est un avertissement

Attention[modifier le wikicode]

Attention

Ceci est une information importante

Note[modifier le wikicode]

Note

Ceci est une Note

Information[modifier le wikicode]

Information

Ceci est une information

Astuce[modifier le wikicode]

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' } )
    )
    root:addClass('box')
    if self.class ~= nil then
        root:addClass(self.class)
    end
    local left = root:tag('div'):addClass('left')
    local right = root:tag('div'):addClass('right')
    if self.image ~= nil then
        left:wikitext('[[File:' .. self.image .. ']]')
    end
    left:tag('h4'):wikitext(self.title)
    right:tag('p'):wikitext(self.content)

    return tostring(root)
end

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

    return self
end

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

return p