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

De wikiviefr
(Page créée avec « local p = {} function p.removePrefix(frame) local category = frame.args.category or "CVCandidat" local prefix = frame.args.prefix or "CVCandidat/" local pages = mw.site.stats.pagesInCategory(category) local result = {} for _, page in ipairs(pages) do local title = page.title local displayTitle = mw.ustring.gsub(title, "^" .. prefix, "") -- Retire le préfixe table.insert(result, string.format("* %s", title,... »)
 
Aucun résumé des modifications
 
(2 versions intermédiaires par le même utilisateur non affichées)
Ligne 2 : Ligne 2 :


function p.removePrefix(frame)
function p.removePrefix(frame)
     local category = frame.args.category or "CVCandidat"
     local args = frame.args
     local prefix = frame.args.prefix or "CVCandidat/"
    local category = args.category
     local pages = mw.site.stats.pagesInCategory(category)
    local prefix = args.prefix
     local result = {}
 
      
 
 
    mw.log("Catégorie reçue : " .. (category or "aucune"))
     mw.log("Préfixe reçu : " .. (prefix or "aucun"))
 
 
 
    if not category or category == "" then
        return "Erreur : aucune catégorie spécifiée."
    end
 
    if not prefix then
        prefix = "" -- Valeur par défaut si aucun préfixe n'est défini
    end
 
    -- Récupérer les pages de la catégorie
     local dpl = mw.ext.DynamicPageList
    local pages = dpl.getPagesInCategory(category)
 
    if not pages then
        return "Erreur : aucune page trouvée dans la catégorie."
    end
 
    -- Construire le tableau avec les préfixes retirés
     local result = "{| class='wikitable sortable'\n"
     result = result .. "! Nom de la page\n"
 
     for _, page in ipairs(pages) do
     for _, page in ipairs(pages) do
         local title = page.title
         local title = mw.ustring.gsub(page.title, "^" .. mw.text.nowiki(prefix), "")
        local displayTitle = mw.ustring.gsub(title, "^" .. prefix, "") -- Retire le préfixe
         result = result .. "|-\n| [[" .. page.title .. "|" .. title .. "]]\n"
         table.insert(result, string.format("* [[%s|%s]]", title, displayTitle))
     end
     end
      
 
     return table.concat(result, "\n")
     result = result .. "|}"
     return result
end
end


return p
return p

Dernière version du 22 décembre 2024 à 14:03

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

local p = {}

function p.removePrefix(frame)
    local args = frame.args
    local category = args.category
    local prefix = args.prefix



    mw.log("Catégorie reçue : " .. (category or "aucune"))
    mw.log("Préfixe reçu : " .. (prefix or "aucun"))



    if not category or category == "" then
        return "Erreur : aucune catégorie spécifiée."
    end

    if not prefix then
        prefix = "" -- Valeur par défaut si aucun préfixe n'est défini
    end

    -- Récupérer les pages de la catégorie
    local dpl = mw.ext.DynamicPageList
    local pages = dpl.getPagesInCategory(category)

    if not pages then
        return "Erreur : aucune page trouvée dans la catégorie."
    end

    -- Construire le tableau avec les préfixes retirés
    local result = "{| class='wikitable sortable'\n"
    result = result .. "! Nom de la page\n"

    for _, page in ipairs(pages) do
        local title = mw.ustring.gsub(page.title, "^" .. mw.text.nowiki(prefix), "")
        result = result .. "|-\n| [[" .. page.title .. "|" .. title .. "]]\n"
    end

    result = result .. "|}"
    return result
end

return p