Aller au contenu

Module:Personnagedujour

De Wikiquestia
Version datée du 12 juillet 2025 à 18:07 par Alakihel (discussion | contributions) (Page créée avec « -- Module:ExtraitArticle local p = {} function p.depuis(frame) -- Récupère le titre de la page passée en paramètre local titre = frame.args["page"] if not titre or titre == "" then return "<span style='color:red;'>Erreur : aucun titre de page fourni.</span>" end -- Convertit le titre en objet page local page = mw.title.new(titre) if not page or not page.exists then return "<span style='color:red;'>Erreur : la page... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

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

-- Module:ExtraitArticle
local p = {}

function p.depuis(frame)
    -- Récupère le titre de la page passée en paramètre
    local titre = frame.args["page"]
    if not titre or titre == "" then
        return "<span style='color:red;'>Erreur : aucun titre de page fourni.</span>"
    end

    -- Convertit le titre en objet page
    local page = mw.title.new(titre)
    if not page or not page.exists then
        return "<span style='color:red;'>Erreur : la page '" .. titre .. "' n'existe pas.</span>"
    end

    -- Récupère le contenu brut de la page
    local contenu = page:getContent()
    if not contenu then
        return "<span style='color:red;'>Erreur : impossible de lire le contenu de la page.</span>"
    end

    -- Extrait le bloc entre <!--extrait--> et <!--/extrait-->
    local extrait = contenu:match("<!--%s*extrait%s*-->(.-)<!--%s*/extrait%s*-->")
    if not extrait then
        return "<span style='color:gray;'>Aucun extrait trouvé dans la page.</span>"
    end

    -- Retourne le texte extrait, avec interprétation wikitexte
    return mw.getCurrentFrame():preprocess(extrait)
end

return p