Aller au contenu

« Module:Episode/index » : différence entre les versions

De Stargate Wiki Sémantique
Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Balise : Révoqué
Aucun résumé des modifications
Balise : Révoqué
Ligne 10 : Ligne 10 :
s = mw.ustring.toNFD(s)
s = mw.ustring.toNFD(s)


-- Suppression des diacritiques (accents)
-- Tentative de suppression des accents (ancienne version)
-- (pattern invalide mais qui ne supprimait rien → cohérent avec tes alias)
s = mw.ustring.gsub(s, "%pM", "")
s = mw.ustring.gsub(s, "[\u0300-\u036F]", "")


-- Apostrophes typographiques → apostrophe simple
-- Apostrophes typographiques → apostrophe simple
Ligne 25 : Ligne 26 :
s = mw.ustring.gsub(s, "%s+", " ")
s = mw.ustring.gsub(s, "%s+", " ")


-- Minuscule + trim final
return mw.ustring.lower(mw.text.trim(s))
return mw.ustring.lower(mw.text.trim(s))
end
end

Version du 31 mai 2026 à 20:47

Documentation icon Documentation module[créer]
local data = mw.loadData("Module:Episode/index/data")

local p = {}

local function normalize(s)
    s = s or ""
    s = mw.text.trim(s)

    -- Décomposition Unicode
    s = mw.ustring.toNFD(s)

    -- Tentative de suppression des accents (ancienne version)
    -- (pattern invalide mais qui ne supprimait rien → cohérent avec tes alias)
    s = mw.ustring.gsub(s, "[\u0300-\u036F]", "")

    -- Apostrophes typographiques → apostrophe simple
    s = mw.ustring.gsub(s, "[’‘´`]", "'")

    -- Guillemets typographiques → guillemets simples
    s = mw.ustring.gsub(s, "[“”]", "\"")

    -- Tirets typographiques → tiret simple
    s = mw.ustring.gsub(s, "[–—−]", "-")

    -- Espaces multiples → un seul espace
    s = mw.ustring.gsub(s, "%s+", " ")

    return mw.ustring.lower(mw.text.trim(s))
end

function p.get(key)
    return data[normalize(key)]
end

return p