« Module:Script » : différence entre les versions

De wikarphy
Linarphy (discussion | contributions)
Aucun résumé des modifications
Linarphy (discussion | contributions)
Aucun résumé des modifications
 
(3 versions intermédiaires par le même utilisateur non affichées)
Ligne 13 : Ligne 13 :
function Script:build()
function Script:build()
     local root = mw.html.create()
     local root = mw.html.create()
     root:wikitext('<syntaxhighlight lang="bash">')
     root:wikitext("<syntaxhighlight lang=\"bash\">")
     local command = self.template
     local command = self.template
     if self.arguments then
     if self.arguments then
Ligne 24 : Ligne 24 :
     root:wikitext(command)
     root:wikitext(command)
     root:wikitext("</syntaxhighlight>")
     root:wikitext("</syntaxhighlight>")
 
     return mw:getCurrentFrame():preprocess(tostring(root))
     return tostring(root)
end
end



Dernière version du 5 mars 2025 à 02:12

La documentation pour ce module peut être créée à Module:Script/doc

local Script = {}
local String = require('Module:String')
local p = {}

function Script:new(template, arguments)
    self.__index = self
    self.template = template
    self.arguments = arguments

    return self
end

function Script:build()
    local root = mw.html.create()
    root:wikitext("<syntaxhighlight lang=\"bash\">")
    local command = self.template
    if self.arguments then
        for key, value in pairs(self.arguments) do
            if value ~= nil then
                command = String:replace(frame:newChild{title = "module invocation", args = {source = command, pattern = "{" .. key .. "}", replace = value}})
             end
        end
    end
    root:wikitext(command)
    root:wikitext("</syntaxhighlight>")
    return mw:getCurrentFrame():preprocess(tostring(root))
end

function p.main(frame)
    local script = Script:new(frame.args[1], frame.args[2])
    return script:build()
end

return p