« Module:Infobox/Configs/Geopolitique » : différence entre les versions
De Nefald
Autres actions
m Ayd a déplacé la page Module:Infobox/Configs/Evenement vers Module:Infobox/Configs/Geopolitique sans laisser de redirection |
Aucun résumé des modifications |
||
| (11 versions intermédiaires par 2 utilisateurs non affichées) | |||
| Ligne 3 : | Ligne 3 : | ||
return args.nom or '{{PAGENAME}}' | return args.nom or '{{PAGENAME}}' | ||
end, | end, | ||
-- Icône avec type et nom | |||
icone = { | |||
type = 'fas', -- ou 'fab', 'far', 'fal', 'fad' | |||
nom = 'landmark-dome' | |||
}, | |||
image = function(args) | image = function(args) | ||
if args.image then | if args.image then | ||
| Ligne 10 : | Ligne 16 : | ||
return nil | return nil | ||
end, | end, | ||
typeField = { | |||
required = false, -- Optionnel pour les localités | |||
allowedValues = { | |||
['guerre'] = { | |||
display = 'Guerre', | |||
category = 'Conflit' | |||
}, | |||
['bataille'] = { | |||
display = 'Bataille', | |||
category = 'Conflit' | |||
}, | |||
['escarmouche'] = { | |||
display = 'Escarmouche', | |||
category = 'Conflit' | |||
}, | |||
['traité'] = { | |||
display = 'Traité', | |||
category = 'Diplomatie' | |||
}, | |||
['alliance'] = { | |||
display = 'Alliance', | |||
category = 'Diplomatie' | |||
}, | |||
['serment'] = { | |||
display = 'Serment', | |||
category = 'Diplomatie' | |||
}, | |||
['événement'] = { | |||
display = 'Évènement', | |||
category = 'Évènement' | |||
} | |||
}, | |||
errorMessage = 'Type non reconnu. Types autorisés : Traité, Alliance, Serment, Guerre,Évènement, Escarmouche, Bataille ' | |||
}, | |||
sections = { | sections = { | ||
{ | { | ||
| Ligne 21 : | Ligne 63 : | ||
} | } | ||
} | } | ||
} | }, | ||
-- 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 | return config | ||
Dernière version du 23 octobre 2025 à 17:22
La documentation pour ce module peut être créée à Module:Infobox/Configs/Geopolitique/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 = 'landmark-dome'
},
image = function(args)
if args.image then
return '[[Fichier:' .. args.image .. '|300px]]'
end
return nil
end,
typeField = {
required = false, -- Optionnel pour les localités
allowedValues = {
['guerre'] = {
display = 'Guerre',
category = 'Conflit'
},
['bataille'] = {
display = 'Bataille',
category = 'Conflit'
},
['escarmouche'] = {
display = 'Escarmouche',
category = 'Conflit'
},
['traité'] = {
display = 'Traité',
category = 'Diplomatie'
},
['alliance'] = {
display = 'Alliance',
category = 'Diplomatie'
},
['serment'] = {
display = 'Serment',
category = 'Diplomatie'
},
['événement'] = {
display = 'Évènement',
category = 'Évènement'
}
},
errorMessage = 'Type non reconnu. Types autorisés : Traité, Alliance, Serment, Guerre,Évènement, Escarmouche, Bataille '
},
sections = {
{
titre = 'Informations générales',
champs = {
{ cle = 'type', label = 'Type' },
{ cle = 'date', label = 'Date' },
{ cle = 'parties', label = 'Parties' },
{ cle = 'lieux', label = 'Lieux' },
}
}
},
-- 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