« Module:Compétences » : différence entre les versions
Page créée avec « local p = {} -- Merci de conserver le tri et la casse -- ["nom"] = ["lien"] -- TODO: Traduire les compétences une fois le jeu sorti local SKILLS = { ["astrodynamics"] = "Astrodynamics", ["botany"] = "Botany", ["lasers"] = "Lasers", ["leadership"] = "Leadership", } -- Génère une liste des compétences avec leur niveau. -- Fonction à appeler depuis un autre module -- L'utilisateur doit passer un tableau associatif des compétences qu'il... » |
Aucun résumé des modifications |
||
Ligne 17 : | Ligne 17 : | ||
-- La compétence est ignorée si elle n'existe pas. | -- La compétence est ignorée si elle n'existe pas. | ||
function p._skills_list(args) | function p._skills_list(args) | ||
local | local list = mw.html.create('ul') | ||
for name, value in pairs(args) do | for name, value in pairs(args) do | ||
Ligne 24 : | Ligne 24 : | ||
-- TODO: Améliorer le visuel | -- TODO: Améliorer le visuel | ||
text = "[[" .. link .. "]] ➡️ " .. tostring(value) | text = "[[" .. link .. "]] ➡️ " .. tostring(value) | ||
list:tag('li') | |||
:wikitext(text) | :wikitext(text) | ||
:done() | :done() | ||
Ligne 30 : | Ligne 30 : | ||
end | end | ||
list:allDone() | |||
return | |||
local wrapper = mw.html.create('div') | |||
:addClass('liste-simple') | |||
:node(list) | |||
:done() | |||
return tostring(wrapper) | |||
end | end | ||
Version du 17 juin 2023 à 15:13
Ce module implémente le modèle {{Compétences}}.
Ajouter une compétence
Il suffit d'ajouter la ligne suivante dans la table SKILLS
.
["<nom_compétence_minuscule>"] = "<lien_page_compétence>",
<nom_compétence_minuscule>
désigne le paramètre que doit entrer l'utilisateur pour utiliser cette compétence.<lien_page_compétence>
doit correspondre au nom de l'article associé à la compétence. Il est possible d'utiliser la barre verticale|
pour afficher le lien différemment.
Merci d'aligner le symbole =
avec les reste de lignes et de toujours trier les compétences dans l'ordre alphabétique.
local p = {}
-- Merci de conserver le tri et la casse
-- ["nom"] = ["lien"]
-- TODO: Traduire les compétences une fois le jeu sorti
local SKILLS = {
["astrodynamics"] = "Astrodynamics",
["botany"] = "Botany",
["lasers"] = "Lasers",
["leadership"] = "Leadership",
}
-- Génère une liste des compétences avec leur niveau.
-- Fonction à appeler depuis un autre module
-- L'utilisateur doit passer un tableau associatif des compétences qu'il
-- veut afficher au format `{["nom_compétence"]="niveau_compétence"}`.
-- La compétence est ignorée si elle n'existe pas.
function p._skills_list(args)
local list = mw.html.create('ul')
for name, value in pairs(args) do
link = SKILLS[name:lower()]
if link then
-- TODO: Améliorer le visuel
text = "[[" .. link .. "]] ➡️ " .. tostring(value)
list:tag('li')
:wikitext(text)
:done()
end
end
list:allDone()
local wrapper = mw.html.create('div')
:addClass('liste-simple')
:node(list)
:done()
return tostring(wrapper)
end
-- Génère une liste des compétences avec leur niveau.
-- Fonction à appeler depuis un modèle
function p.skills_list(frame)
local args = {}
local argsParent = frame:getParent().args
for cle, val in pairs(argsParent) do
if val then
args[cle] = mw.text.trim(val)
end
end
return p._skills_list(args)
end
return p