Module:Documentation module

 Documentation[voir] [modifier] [historique] [purger]


Utilisation

Fonctions exportables :

  • doc(frame) – génère un entête de documentation s'adaptant au contexte :
    • depuis un module qui ne possède pas de sous-page de documentation : génère un message explicatif ainsi qu'un lien pour la création
    • depuis un module qui possède une sous-page de documentation : génère un message explicatif ainsi que les liens vers la documentation
    • depuis une sous-page de documentation d'un module : génère un message explicatif ainsi que les liens vers le module

Modules externes et autres éléments dont ce module a besoin pour fonctionner :

  • mw.title
-- module contenant les fonctions permettant de gérer la documentation des modules
 
local p = {}
 
 
function p.erreur(texte)
    return '<span class="error">' .. (texte or "''aucune erreur indiquée''") .. "</span>"    
end
 
-- test : 2 en 1. Fonction qui fait tout.
function p.doc(frame)
    local res = ""
    -- le titre de la page
    local titre = mw.title.getCurrentTitle()
    local ttitre = titre.nsText .. ":" .. titre.text -- pour information : [[phab:T369784]] (pas d'action nécessaire sur ce module)
    local doc
    local tdoc

    -- vérification : le module et sa doc sont dans l'espace module
    if (titre.nsText ~= "Module") then
        return p.erreur("Inclusion du module en dehors d'un module ou de sa page de documentation (NS=" .. titre.nsText .. ")")
    end
 
    -- si la page courante est un "/doc" on n'a pas le bon titre (celui de la doc)
    local mdl
    -- sous-pages « /Documentation » (veiller à ne pas inclure la page racine « Module:Documentation »)
    if (titre.subpageText == "Documentation" and titre.text ~= titre.subpageText) then
        -- c'est donc la page de doc
        mdl = false
        -- en fait ce qu'on a c'est la doc
        doc = titre
        tdoc = ttitre
        -- on récupère le title du module
        ttitre = doc.nsText .. ":" .. doc.baseText
        titre = mw.title.new(ttitre)
    else
        mdl = true
        -- on a bien le titre du module, on crée le titre de la doc
        tdoc = titre.nsText .. ":" .. titre.text .. "/Documentation"
        doc = mw.title.new(tdoc)
    end
    
     -- s'il n'y a pas de page de doc on fait juste un affichage proposant de le créer
    if (doc.id == 0 and mdl) then
        res = res .. '<div class="template-documentation" style="clear:both;margin: 1em 0 0 0;border:1px solid #aaa;background: #ecf0fc;padding:1em">'
        res = res .. '<div><span style="margin-bottom:0.5em; padding-left:2em; font-style:italic">'
        res = res .. "[[Fichier:Test Template Info-Icon.svg|50px|alt=Documentation du modèle|link=]] "
        res = res .. "La sous-page de documentation de ce [[Aide:Module|module]] n'existe pas. Vous pouvez la créer en "
        res = res .. '<span class="plainlinks">[' .. doc:fullUrl({ ["action"]="edit", ["preload"]="Modèle:Documentation/PreloadModule"})
        res = res .. " suivant ce lien]</span>."
        res = res .. '</span></div></div>[[Catégorie:Module en langage Lua sans documentation|' .. titre.text .. ']]'
        return res -- rien d'autre à faire
    end

    -- on ouvre le grand div
    res = res .. '<div class="template-documentation" style="clear:both; margin: 1em 0 0 0; border:1px solid #aaa; background: #ecf0fc; padding:1em">'
 
    -- on ouvre le div "doc"
    res = res .. '<div style="margin-bottom:1ex; border-bottom:1px solid #aaa; padding-bottom:3px">'
    res = res .. '[[Fichier:Test Template Info-Icon.svg|50px|alt=Documentation du module|link=]] '
    res = res .. ' <span style="font-weight:bold; font-size:125%">Documentation du module</span>'
    -- s'il n'y a pas de page de doc on fait juste un affichage proposant de le créer
 
    -- l'entête puisque la page existe
    res = res .. '<span id="doc_editlinks" class="mw-editsection plainlinks">'
    res = res .. '&#91;[' .. doc:fullUrl("") .. ' voir]&#93;'
    res = res .. '&#32;&#91;[' .. doc:fullUrl('action=edit') .. ' modifier]&#93;'
    res = res .. '&#32;&#91;[' .. titre:fullUrl("action=purge") .. ' purger]&#93;'
    res = res .. '</span></div>' -- fin de l'entête et on ferme le div "doc"
 
    if (mdl) then
        -- dans le module : on affiche un court message + liens, puis on laisse le contenu en transclusion
        res = res .. '<div style="margin-bottom:0.5em; padding-left:2em; font-style:italic">'
        res = res .. 'La documentation de ce [[Aide:Module|module]] est [[Aide:Inclusion|incluse]] depuis sa '
        res = res .. '[[' .. tdoc .. '|sous-page de documentation]].</div>'
        return res -- c'est tout
    end
end

return p

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.