Module:RemovePrefix

De wikiviefr

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

local p = {}

-- Fonction principale appelée par #invoke
function p.removePrefix(frame)
    local args = frame:getParent().args
    local category = args.category or ""
    local prefix = args.prefix or ""

    -- Vérifier si la catégorie existe
    if category == "" then
        return "Erreur : aucune catégorie spécifiée."
    end

    -- Récupère les pages de la catégorie via Scribunto
    local success, pages = pcall(mw.site.getAllPagesInCategory, mw.site, category)
    if not success then
        return "Erreur : impossible de récupérer les pages de la catégorie."
    end

    -- Préparer la liste des pages sans le préfixe
    local results = {}
    for _, page in ipairs(pages) do
        local title = page.title
        if title:find("^" .. prefix) then
            title = title:gsub("^" .. prefix, "")
        end
        table.insert(results, "* [[" .. page.fullText .. "|" .. title .. "]]")
    end

    -- Retourne la liste formatée
    return table.concat(results, "\n")
end

return p