Aller au contenu

« Module:Charte » : différence entre les versions

De Wikiquestia
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 2 : Ligne 2 :


local chartes = {
local chartes = {
biographie = {
  biographie = {
titre           = "#6eacdc9c",
    titre     = "#6eacdc9c",
soustitre       = "#a9c8e09c",
    soustitre = "#a9c8e09c",
hr               = "#6eacdc9c",
    hr       = "#6eacdc9c",
},
  },
empire = {
  empire = {
titre           = "#993333b0",
    titre     = "#993333b0",
soustitre       = "#831f1fc7",
    soustitre = "#831f1fc7",
hr               = "#993333b0",
    hr       = "#993333b0",
},
  },
geographie = {
  geographie = {
titre           = "#209a57d9",
    titre     = "#209a57d9",
soustitre       = "#209a57a8",
    soustitre = "#209a57a8",
hr               = "#209a57d9",
    hr       = "#209a57d9",
},
  },
darkgods = {
  darkgods = {
titre           = "#000000",
    titre     = "#000000",
soustitre       = "#000000e8",
    soustitre = "#000000e8",
hr               = "#000000",
    hr       = "#000000",
color           = "#ffffff",
    color     = "#ffffff",
},
  },
defaut = {
  langue = {
titre           = "#eaecf0",
    titre    = "#9b59b6b0",  -- violet principal
soustitre       = "#a2a9b1",
    soustitre = "#a674c8a8",  -- violet plus clair
hr               = "#eaecf0",
    hr        = "#9b59b6b0",  -- même que le titre
}
  },
  defaut = {
    titre     = "#eaecf0",
    soustitre = "#a2a9b1",
    hr       = "#eaecf0",
  }
}
}
-- Textes par défaut selon la charte (NOUVELLE TABLE)
-- Textes par défaut selon la charte (NOUVELLE TABLE)
local soustitres = {
local soustitres = {

Version du 9 juin 2025 à 21:30

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

local p = {}

local chartes = {
  biographie = {
    titre     = "#6eacdc9c",
    soustitre = "#a9c8e09c",
    hr        = "#6eacdc9c",
  },
  empire = {
    titre     = "#993333b0",
    soustitre = "#831f1fc7",
    hr        = "#993333b0",
  },
  geographie = {
    titre     = "#209a57d9",
    soustitre = "#209a57a8",
    hr        = "#209a57d9",
  },
  darkgods = {
    titre     = "#000000",
    soustitre = "#000000e8",
    hr        = "#000000",
    color     = "#ffffff",
  },
  langue = {
    titre     = "#9b59b6b0",  -- violet principal
    soustitre = "#a674c8a8",  -- violet plus clair
    hr        = "#9b59b6b0",  -- même que le titre
  },
  defaut = {
    titre     = "#eaecf0",
    soustitre = "#a2a9b1",
    hr        = "#eaecf0",
  }
}
-- Textes par défaut selon la charte (NOUVELLE TABLE)
local soustitres = {
	biographie = "Informations biographiques",
	empire     = "Données impériales",
	geographie = "Informations géographiques",
	darkgods   = "Entité obscure",
	defaut     = "Informations générales"
}

-- Fonction pour vérifier si c’est un code hex
local function isHexCode(value)
	return type(value) == "string" and mw.ustring.match(value, "^#%x%x%x%x%x%x%x?$") ~= nil
end

-- Fonction principale de couleur
function p.couleur(frame)
	local args   = frame.args
	local charte = args["charte"] or "defaut"
	local type   = args["type"]   or "titre"

	if type == "texte" then
		if chartes[charte] and chartes[charte].color then
			return chartes[charte].color
		else
			return "#000000"
		end
	end

	if type == "soustitre" then
		-- si la charte définit bien une couleur de sous-titre, on l'utilise
		if chartes[charte] and chartes[charte].soustitre then
			return chartes[charte].soustitre
		else
			-- sinon, on tombe sur la couleur par défaut
			return chartes["defaut"].soustitre
		end
	end


	if isHexCode(charte) then
		return charte
	elseif chartes[charte] and chartes[charte][type] then
		return chartes[charte][type]
	else
		return chartes["defaut"][type] or "#dddddd"
	end
end

-- Fonction pour afficher le texte par défaut du sous-titre
function p.soustitre(frame)
	local charte = frame.args["charte"] or "defaut"
	charte = mw.ustring.lower(charte)
	return soustitres[charte] or soustitres["defaut"]
end

return p