Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.

« Module:Infobox/Configs/Geographie » : différence entre les versions

De Nefald
Aucun résumé des modifications
Hiob (discussion | contributions)
map
 
Ligne 4 : Ligne 4 :
     end,
     end,


   
     -- Icône avec type et nom
     -- Icône avec type et nom
     icone = {
     icone = {
         type = 'fas',  -- ou 'fab', 'far', 'fal', 'fad'
         type = 'fas',  -- ou 'fab', 'far', 'fal', 'fad'
         nom = 'map'
         nom = 'globe-stand'
     },
     },
      
      
     image = function(args)
     image = function(args)
         if args.image then
         if args.image then
             return '[[Fichier:' .. args.image .. '|300px]]'
             return {
                nom = args.image,
                taille = args.tailleimage or "300px",
                legende = args.legende or args.nom or '{{PAGENAME}}'
            }
         end
         end
         return nil
         return nil
     end,
     end,
      
      
      
     typeField = {
typeField = {
         required = false, -- Optionnel pour les géographies
         required = false, -- Optionnel pour les géographie
         allowedValues = {
         allowedValues = {
             ['supercontinent'] = {
             ['supercontinent'] = {
Ligne 31 : Ligne 33 :
             },
             },
             ["cours d'eau"] = {
             ["cours d'eau"] = {
                 display = "Cours deau",
                 display = "Cours d'eau",
                 category = "Cour d'eau"
                 category = "Cours d'eau"
             },
             },
             ['océan'] = {
             ['océan'] = {
Ligne 45 : Ligne 47 :
                 display = 'Monde',
                 display = 'Monde',
                 category = 'Monde'
                 category = 'Monde'
            },
            ['région'] = {
                display = 'Région',
                category = 'Région'
             },
             },
         },
         },
         errorMessage = "Type de Géographie non reconnu. Types autorisés : Monde, Supercontinent,Continent,Région, Océan, Mer, Cours d'eau"
         errorMessage = "Type de Géographie non reconnu. Types autorisés : Monde, Supercontinent, Continent, Région, Océan, Mer, Cours d'eau"
     },
     },
   
      
      
     sections = {
     sections = {
Ligne 74 : Ligne 79 :
                 { cle = 'monde', label = 'Monde' },
                 { cle = 'monde', label = 'Monde' },
                 { cle = 'localisation', label = 'Localisation' },
                 { cle = 'localisation', label = 'Localisation' },
                -- Les coordonnées seront affichées automatiquement ici si renseignées
                { cle = 'x', label = 'X' },  -- Masqué si coordonnées complètes
                { cle = 'y', label = 'Y' },  -- Masqué si coordonnées complètes
                { cle = 'z', label = 'Z' },  -- Masqué si coordonnées complètes
                { cle = 'worldname', label = 'Monde technique' },  -- Masqué si coordonnées complètes
                { cle = 'mapname', label = 'Type de carte' },  -- Optionnel, masqué
                { cle = 'zoom', label = 'Zoom' },  -- Optionnel, masqué
             }
             }
         }
         }

Dernière version du 28 octobre 2025 à 20:39

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

local config = {
    titre = function(args)
        return args.nom or '{{PAGENAME}}'
    end,

    -- Icône avec type et nom
    icone = {
        type = 'fas',  -- ou 'fab', 'far', 'fal', 'fad'
        nom = 'globe-stand'
    },
    
    image = function(args)
        if args.image then
            return {
                nom = args.image,
                taille = args.tailleimage or "300px",
                legende = args.legende or args.nom or '{{PAGENAME}}'
            }
        end
        return nil
    end,
    
    typeField = {
        required = false, -- Optionnel pour les géographies
        allowedValues = {
            ['supercontinent'] = {
                display = 'Supercontinent',
                category = 'Supercontinent'
            },
            ['continent'] = {
                display = 'Continent', 
                category = 'Continent'
            },
            ["cours d'eau"] = {
                display = "Cours d'eau",
                category = "Cours d'eau"
            },
            ['océan'] = {
                display = 'Mers & Océans',
                category = 'Mers & Océans'
            },
            ['mer'] = {
                display = 'Mers & Océans',
                category = 'Mers & Océans'
            },
            ['monde'] = {
                display = 'Monde',
                category = 'Monde'
            },
            ['région'] = {
                display = 'Région',
                category = 'Région'
            },
        },
        errorMessage = "Type de Géographie non reconnu. Types autorisés : Monde, Supercontinent, Continent, Région, Océan, Mer, Cours d'eau"
    },
    
    sections = {
        {
            titre = 'Informations générales',
            champs = {
                { cle = 'type', label = 'Type' },
                { cle = 'climat', label = 'Climat' },
                { cle = 'statut', label = 'Statut' },
            }
        },
        {
            titre = 'Habitants et culture',
            champs = {
                { cle = 'controle', label = 'Contrôle' },
                { cle = 'langues', label = 'Langues' },
                { cle = 'cultes', label = 'Cultes' },
                { cle = 'capitale', label = 'Capitale' },
            }
        },
        {
            titre = 'Localisation',
            champs = {
                { cle = 'monde', label = 'Monde' },
                { cle = 'localisation', label = 'Localisation' },
                -- Les coordonnées seront affichées automatiquement ici si renseignées
                { cle = 'x', label = 'X' },  -- Masqué si coordonnées complètes
                { cle = 'y', label = 'Y' },  -- Masqué si coordonnées complètes
                { cle = 'z', label = 'Z' },  -- Masqué si coordonnées complètes
                { cle = 'worldname', label = 'Monde technique' },  -- Masqué si coordonnées complètes
                { cle = 'mapname', label = 'Type de carte' },  -- Optionnel, masqué
                { cle = 'zoom', label = 'Zoom' },  -- Optionnel, masqué
            }
        }
    },

    -- Catégorisation automatique selon le type
    categories = function(args, config, frame)
        local cats = {}
        local title = mw.title.getCurrentTitle()

        -- On ajoute les catégories uniquement dans le namespace principal (0)
        if title.namespace ~= 0 then
            return cats
        end

        -- Catégorie selon le type
        if args.type and config.typeField and config.typeField.allowedValues then
            local cleanType = mw.text.trim(mw.ustring.lower(args.type))
            local typeDef = config.typeField.allowedValues[cleanType]
            if typeDef and typeDef.category then
                table.insert(cats, typeDef.category)
            end
        end

        return cats
    end
}

return config
Les témoins (''cookies'') nous aident à fournir nos services. En utilisant nos services, vous acceptez notre utilisation de témoins.