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
Aucun résumé des modifications
Balise : Révoqué
Ligne 13 : Ligne 13 :
s = mw.ustring.gsub(s, "%pM", "")
s = mw.ustring.gsub(s, "%pM", "")


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


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


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


-- Espaces multiples
-- Espaces multiples → un seul espace
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:42

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)

    -- Suppression des diacritiques (accents)
    s = mw.ustring.gsub(s, "%pM", "")

    -- 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+", " ")

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

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

return p