Aller au contenu

« Module:Compétences » : différence entre les versions

217 octets ajoutés ,  17 juin 2023
+ algorithme de tri par valeur des compétences
Aucun résumé des modifications
+ algorithme de tri par valeur des compétences
Ligne 10 : Ligne 10 :
["leadership"]    = "Leadership",
["leadership"]    = "Leadership",
}
}


-- Génère une liste des compétences avec leur niveau.
-- Génère une liste des compétences avec leur niveau.
Ligne 16 : Ligne 18 :
-- veut afficher au format `{["nom_compétence"]="niveau_compétence"}`.
-- veut afficher au format `{["nom_compétence"]="niveau_compétence"}`.
-- La compétence est ignorée si elle n'existe pas.
-- La compétence est ignorée si elle n'existe pas.
-- Les compétences sont triées par valeur décroissante.
function p._skills_list(args)
function p._skills_list(args)
local list = mw.html.create('ul')
local list = mw.html.create('ul')
for name, value in pairs(args) do
local names = {}
for name, value in pairs(args) do table.insert(names, name) end
table.sort(names, function(n1, n2) return args[n1] < args[n2] end)
for _, name in ipairs(names) do
link = SKILLS[name:lower()]
link = SKILLS[name:lower()]
if link then
if link then
-- TODO: Améliorer le visuel
-- TODO: Améliorer le visuel
text = "[[" .. link .. "]] ➡️ "  .. tostring(value)
text = "[[" .. link .. "]] ➡️ "  .. tostring(args[name])
list:tag('li')
list:tag('li')
:wikitext(text)
:wikitext(text)