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 » : différence entre les versions

De Nefald
Hiob (discussion | contributions)
Ajout "localité"
Hiob (discussion | contributions)
mAucun résumé des modifications
 
(14 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
local configs = {
local configs = {}
    localite = {
        sections = {
            {
                titre = 'Informations Générales',
                champs = {
                    { cle = 'type', label = 'Type' },
                    { cle = 'fondation', label = 'Fondation' },
                    { cle = 'destruction', label = 'Destruction' },
                    { cle = 'fondateur', label = 'Fondateur(s)' },
                    { cle = 'symbole', label = 'Symbole' },
                    { cle = 'statut', label = 'Statut' },
                    { cle = 'x', label = 'Coordonnée X' }, -- Sera automatiquement groupé
                    { cle = 'y', label = 'Coordonnée Y' },
                    { cle = 'z', label = 'Coordonnée Z' }
                }
            },
            {
                titre = 'Organisation Interne',
                champs = {
                    { cle = 'dirigeant', label = 'Dirigeant' },
                    { cle = 'population', label = 'Population' },
                    { cle = 'culte', label = 'Culte' },
                    { cle = 'organisation_rattachee', label = 'Organisation rattachée' }
                }
            },
            {
                titre = 'Économie et Société',
                champs = {
                    { cle = 'activite', label = 'Activité' },
                    { cle = 'ressources', label = 'Ressources' }
                }
            },
            {
                titre = 'Géographie',
                champs = {
                    { cle = 'monde', label = 'Monde' }
                }
            }
        }
    },


    monde = {
-- Charge dynamiquement les configurations depuis les sous-pages
        titre = function(args) return args.nom or '{{PAGENAME}}' end,
local function loadConfig(configName)
        image = function(args)  
    local success, config = pcall(require, 'Module:Infobox/Configs/' .. configName)
            if args.image then
    if success then
                return '[[Fichier:' .. args.image .. '|300px]]'
        return config
            end
    else
            return nil
        -- Fallback en cas d'erreur
        end,
        mw.log('Erreur lors du chargement de la configuration: ' .. configName)
        sections = {
        return nil
            {
    end
                titre = 'Spécificités',
end
                champs = {
 
                    { cle = 'seed', label = 'Seed' },
-- Charge toutes les configurations disponibles (manuellement)
                    { cle = 'monde', label = 'Type de monde' },
configs.localite = loadConfig('Localite')
                    { cle = 'x', label = 'Coordonnée X' }, -- Sera automatiquement groupé
configs.monde = loadConfig('Monde')
                    { cle = 'y', label = 'Coordonnée Y' }, -- Sera automatiquement groupé
configs.plugin = loadConfig('Plugin')
                    { cle = 'z', label = 'Coordonnée Z' }  -- Sera automatiquement groupé
 
                }
-- Fonction pour ajouter dynamiquement d'autres configurations (automatiquement)
            },
function configs.load(configName)
            {
    if not configs[configName:lower()] then
                titre = 'Informations',
        configs[configName:lower()] = loadConfig(configName)
                champs = {
    end
                    { cle = 'status', label = 'Status' },
     return configs[configName:lower()]
                    { cle = 'difficulte', label = 'Difficulté' }
end
                }
            }
        }
     }
}


return configs
return configs

Dernière version du 1 octobre 2025 à 12:50

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

local configs = {}

-- Charge dynamiquement les configurations depuis les sous-pages
local function loadConfig(configName)
    local success, config = pcall(require, 'Module:Infobox/Configs/' .. configName)
    if success then
        return config
    else
        -- Fallback en cas d'erreur
        mw.log('Erreur lors du chargement de la configuration: ' .. configName)
        return nil
    end
end

-- Charge toutes les configurations disponibles (manuellement)
configs.localite = loadConfig('Localite')
configs.monde = loadConfig('Monde')
configs.plugin = loadConfig('Plugin') 

-- Fonction pour ajouter dynamiquement d'autres configurations (automatiquement)
function configs.load(configName)
    if not configs[configName:lower()] then
        configs[configName:lower()] = loadConfig(configName)
    end
    return configs[configName:lower()]
end

return configs