Aller au contenu

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

De Wikiquestia
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 21 : Ligne 21 :
soustitre = "#000000a3",
soustitre = "#000000a3",
hr = "#000000a3",
hr = "#000000a3",
    color = "#ffffff" -- texte blanc sur fond noir semi-transparent
color = "#ffffff" -- texte blanc sur fond noir
},
},
defaut = {
defaut = {
Ligne 40 : Ligne 40 :
local type = args["type"] or "titre"
local type = args["type"] or "titre"


-- Cas spécial : couleur du texte
if type == "texte" then
if chartes[charte] and chartes[charte].color then
return chartes[charte].color
else
return "#000000" -- noir par défaut
end
end
-- Cas où la couleur est fournie directement
if isHexCode(charte) then
if isHexCode(charte) then
return charte -- retourne directement le code couleur passé
return charte
elseif chartes[charte] and chartes[charte][type] then
elseif chartes[charte] and chartes[charte][type] then
return chartes[charte][type]
return chartes[charte][type]

Version du 27 mai 2025 à 19:26

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 = "#000000cc",
		soustitre = "#000000a3",
		hr = "#000000a3",
		color = "#ffffff" -- texte blanc sur fond noir
	},
	defaut = {
		titre = "#eaecf0",
		soustitre = "#a2a9b1",
		hr = "#eaecf0",
	}
}

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

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

	-- Cas spécial : couleur du texte
	if type == "texte" then
		if chartes[charte] and chartes[charte].color then
			return chartes[charte].color
		else
			return "#000000" -- noir par défaut
		end
	end

	-- Cas où la couleur est fournie directement
	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

return p