Aller au contenu

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

De Wikiquestia
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 20 : Ligne 20 :
titre            = "#000000cc",
titre            = "#000000cc",
soustitre        = "#000000a3",
soustitre        = "#000000a3",
soustitre_color  = "#ffffff",   -- couleur du texte du sous-titre
soustitre_color  = "#ffffff",
hr              = "#000000a3",
hr              = "#000000a3",
color            = "#ffffff",   -- couleur du texte général
color            = "#ffffff",
},
},
defaut = {
defaut = {
Ligne 31 : Ligne 31 :
}
}


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


-- Fonction principale de couleur
function p.couleur(frame)
function p.couleur(frame)
local args  = frame.args
local args  = frame.args
Ligne 41 : Ligne 51 :
local type  = args["type"]  or "titre"
local type  = args["type"]  or "titre"


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


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


-- Cas où la couleur est fournie directement comme code HEX
if isHexCode(charte) then
if isHexCode(charte) then
return charte
return charte
Ligne 67 : Ligne 74 :
return chartes["defaut"][type] or "#dddddd"
return chartes["defaut"][type] or "#dddddd"
end
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
end


return p
return p

Version du 29 mai 2025 à 12:04

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",
		soustitre_color  = "#ffffff",
		hr               = "#000000a3",
		color            = "#ffffff",
	},
	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_color" then
		if chartes[charte] and chartes[charte].soustitre_color then
			return chartes[charte].soustitre_color
		else
			return "#000000"
		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