Aller au contenu

Module:Talkpageheader

Cette page fait l’objet d’une mesure de semi-protection étendue.
Une page de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 20 novembre 2017 à 19:05 et modifiée en dernier par Od1n (discuter | contributions) (refactorisation vu qu'il ne reste maintenant plus que le cas particulier "Lumière sur"). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

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

Ce module est utilisé par plusieurs messages système.

Liste non exhaustive :

local p = {}

function p.main()

    local page = mw.title.getCurrentTitle()

    local namespace = mw.site.namespaces[page.namespace]
    if namespace.talk then
        namespace = namespace.talk
    end

    local base = page.text
    base = mw.ustring.gsub(base, '/Suppression$', '')
    base = mw.ustring.gsub(base, '/Neutralité$', '')
    base = mw.ustring.gsub(base, '/Droit d\'auteur$', '')
    base = mw.ustring.gsub(base, '/Article de qualité$', '')
    base = mw.ustring.gsub(base, '/Bon article$', '')
    base = mw.ustring.gsub(base, '/Lumière sur$', '')
    base = mw.ustring.gsub(base, '/À faire$', '')
    base = mw.ustring.gsub(base, '/[Aa]rchive.*$', '')

    local prefixedBase = namespace.name .. ':' .. base

    function lien(souspage)
        if mw.title.new(prefixedBase .. '/' .. souspage).exists then
            return '[[' .. prefixedBase .. '/' .. souspage .. '|' .. souspage.. ']]'
        else
            return '<span title="Cette page n\'existe pas">' .. souspage .. '</span>'
        end
    end

    function lienLumiereSur()
        if mw.title.new('Wikipédia:Lumière sur/' .. base).exists then
            return '[[Wikipédia:Lumière sur/' .. base .. '|Lumière sur]]'
        else
            return '<span title="Cette page n\'existe pas">Lumière sur</span>'
        end
    end

    return '<div id="talkpageheader">'
               .. '<div id="talkpageheadertitle">'
                   .. '<span id="talkpageheadertitletext">Autres discussions [[Spécial:Index/' .. prefixedBase .. '/|[liste]]]</span>'
               .. '</div>'
               .. '<ul>'
                   .. '<li>' .. lien('Suppression')        .. ' -</li> '
                   .. '<li>' .. lien('Neutralité')         .. ' -</li> '
                   .. '<li>' .. lien('Droit d\'auteur')    .. ' -</li> '
                   .. '<li>' .. lien('Article de qualité') .. ' -</li> '
                   .. '<li>' .. lien('Bon article')        .. ' -</li> '
                   .. '<li>' .. lienLumiereSur()           .. ' -</li> '
                   .. '<li>' .. lien('À faire')            .. ' -</li> '
                   .. '<li>' .. lien('Archives')           .. '</li>'
               .. '</ul>'
           .. '</div>'
end

return p