Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.

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

-- =================================================================
-- FONCTION CORRIGÉE ET AMÉLIORÉE pour extraire la description
-- =================================================================
function p.getDescription(frame)
    -- CORRECTION 1 : Accepter un paramètre nommé "page" OU le premier paramètre non nommé.
    -- Ceci rend le module plus flexible.
    local pageName = frame.args.page or frame.args[1]
    
    if not pageName or pageName == '' then
        -- Pas de page fournie, on ne renvoie rien pour ne pas polluer DPL.
        return ''
    end
    
    local pageObj = mw.title.new(pageName)
    if not pageObj or not pageObj.exists then
        return "''Page '" .. pageName .. "' inexistante''"
    end
    
    local content = pageObj:getContent()
    if not content then
        return "''Page '" .. pageName .. "' vide''"
    end
    
    -- CORRECTION 2 : Utilisation d'une regex beaucoup plus robuste pour trouver la description.
    -- Elle capture le contenu (même sur plusieurs lignes) jusqu'au prochain paramètre.
    -- (.-) : capture non-gourmande de n'importe quel caractère, y compris les retours à la ligne.
    -- \n%s*| : s'arrête lorsqu'on trouve un retour à la ligne, du blanc, et un nouveau pipe,
    --          ce qui marque le début du paramètre suivant de l'infobox.
    local desc = content:match('|%s*description%s*=%s*(.-)%s*\n%s*|')
    
    if desc and desc ~= '' then
        -- On a trouvé une description, on la nettoie et on la retourne.
        return mw.text.trim(desc)
    end
    
    -- Si on n'a rien trouvé, on retourne un message clair.
    return "''Description non trouvée''"
end