Aller au contenu

Module:section article

Définition, traduction, prononciation, anagramme et synonyme sur le dictionnaire libre Wiktionnaire.
Version datée du 7 avril 2013 à 20:33 par Darkdadaah (discussion | contributions) (Création : b = require('Module:bases') -- Charge la table une fois pour toutes pour ce module local titres = mw.loadData('Module:section article/data') local p = {} -- S'agit-il d'un titre de...)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

 Documentation[voir] [modifier] [historique] [purger]

Ce module renvoie le nom standardisé des sections d’articles autre que les sections de langue et et les sections de mots. Il utilisé essentiellement par Module:section.

Ce module contient trois fonctions exportables avec un seul paramètre : un nom de section.

is_titre(titre_de_section)
Renvoie true/false selon que la section est définie dans la liste Module:section article/data.
get_nom_section(titre_de_section)
Renvoie le titre de section standardisé.
get_class(titre_de_section)
Renvoie la classe d'un titre de section (section de type de mot ou section supérieure ? Voir la liste Discussion module:section article/analyse/test).

La définition des sections standardisées et des alias autorisés est écrite dans Module:section article/data. Les sections autorisées sont affichés grâce aux fonctions de Module:section article/analyse.


b = require('Module:bases')

-- Charge la table une fois pour toutes pour ce module
local titres = mw.loadData('Module:section article/data')

local p = {}

-- S'agit-il d'un titre de section reconnu (ou d'un alias) ?
function p.is_titre(nom)
    if nom == nil then return nil end
    
    nom = b.lc(nom);
    nom = mw.ustring.gsub(nom, '-', '')
    
    if (titres['alias'][nom] or titres['texte'][nom]) then
        return true
    else
        return false
    end
end

-- Fonction de récupération du nom standard à partir de son code et de ses propriétés
function p.get_nom_section(code)
    if (code == nil) then return nil end
    
    -- Pour chercher dans les listes, le texte doit être en minuscule et sans tirets
    code = b.lc(code);
    code = mw.ustring.gsub(code, '-', '')
    
    -- Alias?
    if (types['alias'][code]) then
        code = types['alias'][code]
    end
    
    -- Titre défini?
    if (types['texte'][code] ~= nil) then
        return types['texte'][code][nom]
    else
        return nil
    end
end

return p