Valider d3b928ab rédigé par marcimat's avatar marcimat
Parcourir les fichiers

Une méthode pour éviter de dupliquer du code de variable CSS pour déclarer nos...

Une méthode pour éviter de dupliquer du code de variable CSS pour déclarer nos variables 'white' à 'dark' autant de fois que de thèmes. On supprime aussi les variables --rgb dont on ne trouvera pas d'utilité. On peut déjà faire des couleurs transparentes avec la variable --hsl tel que hsla(--spip-color-thheme--hsl), .5);.
parent f8c6aa9a
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+8 −2
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -11,7 +11,7 @@


:root {
	[(#ENV{couleur_theme}|spip_couleur_theme_generer_variables_css)]
	[(#ENV{couleur_theme}|spip_couleur_generer_variables_css_theme)]

	--spip-css-dir: #ENV{dir};
	--spip-css-left: #ENV{left};
@@ -26,12 +26,18 @@
	--spip-css-color: #ENV{color};
}

:root,
[data-spip-theme-colors],
[class*="spip-theme-colors"] {
	[(#VAL|spip_couleur_generer_variables_css)]
}


#SET{couleurs,#VAL{couleurs}|charger_fonction{inc}}
#SET{couleurs,#GET{couleurs}|call_user_func}
<BOUCLE_themes(DATA){source tableau, #GET{couleurs}}>
[data-spip-theme-colors="#CLE"],
.spip-theme-colors-#CLE {
	[(#VALEUR{couleur_theme}|spip_couleur_theme_generer_variables_css)]
	[(#VALEUR{couleur_theme}|spip_couleur_generer_variables_css_theme)]
}
</BOUCLE_themes>
+7 −6
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -30,19 +30,14 @@ class Spip_Css_Vars_Collection {
 * @param string $couleur Couleur hex
 * @return string
 */
function spip_couleur_theme_generer_variables_css($couleur) : \Spip_Css_Vars_Collection {
function spip_couleur_generer_variables_css_theme($couleur) : \Spip_Css_Vars_Collection {

    $vars = new \Spip_Css_Vars_Collection();

    $vars->add("--spip-color-theme--hsl", couleur_hex_to_hsl($couleur, "h, s, l"));
    $vars->add("--spip-color-theme--rgb", couleur_hex_to_rgb($couleur, "r, g, b"));

    $vars->add("--spip-color-theme--h", couleur_hex_to_hsl($couleur, "h"));
    $vars->add("--spip-color-theme--s", couleur_hex_to_hsl($couleur, "s"));
    $vars->add("--spip-color-theme--l", couleur_hex_to_hsl($couleur, "l"));
    $vars->add("--spip-color-theme--r", couleur_hex_to_rgb($couleur, "r")); // utile ?
    $vars->add("--spip-color-theme--g", couleur_hex_to_rgb($couleur, "g")); // utile ?
    $vars->add("--spip-color-theme--b", couleur_hex_to_rgb($couleur, "b")); // utile ?

    // un joli dégradé de presque blanc à presque noir…
    $vars->add("--spip-color-theme--100", '#' . couleur_eclaircir($couleur, .99));
@@ -59,6 +54,12 @@ function spip_couleur_theme_generer_variables_css($couleur) : \Spip_Css_Vars_Col
    $vars->add("--spip-color-theme--10", '#' . couleur_foncer($couleur, .75));
    $vars->add("--spip-color-theme--00", '#' . couleur_foncer($couleur, .98));

    return $vars;
}

function spip_couleur_generer_variables_css() : \Spip_Css_Vars_Collection {
    $vars = new \Spip_Css_Vars_Collection();

    // nos déclinaisons (basées sur le dégradé précedent, où 60 est là couleur du thème)
    $vars->add("--spip-color-theme-white", "var(--spip-color-theme--100)");
    $vars->add("--spip-color-theme-lightest", "var(--spip-color-theme--95)");