Cela deviendrait particulièrement intéressant si au moment de la génération du css on avait des options pour modifier les couleurs : teinte, saturation, luminosité, contraste, invertion (hue, saturation, lightness, contrast, invert). Comme dans un logiciel d'édition d'image :)
On pourrait ainsi très facilement personnaliser un theme existant.
D'ailleur un theme pourrait n'utiliser que 3, 4 couleurs de base chacune configurable, ces couleurs étant ensuite décliné à l'aide de fonctions du genre $myColor.brighter(+10%) ou quelque chose comme ça.
J'avais déjà pensé à définir des variables pour les feuilles de style.
J'avais abandonné l'idée du parsing à chaque fois car "contre nature".
Il reste effectivement l'idée de la génération du css à partir d'un "template" au moment de l'install du thème.
Comme j'ai déjà regroupé pas mal les règles qui définissent les couleurs, je me demandais si ça vallais réellement le coup,
mais on peut étudier.
<:o)
On peut aussi avoir un outil de création de la feuille de style dans l'administration à partir du template de feuille de style et du fichier de paramétrage.
hpsam a écrit:
Salut, deux des intérêts de la feuille de style externe c'est d'accélérer le chargement des pages (après la première) et de diminuer l'usage de bande passante. Là si l'on parse le css à chaque fois, on perd cela. Ce n'est pas forcément intéressant.
Même si elle est générée dynamiquement on peut tout de même forcer le navigateur à la cacher.
Salut, deux des intérêts de la feuille de style externe c'est d'accélérer le chargement des pages (après la première) et de diminuer l'usage de bande passante. Là si l'on parse le css à chaque fois, on perd cela. Ce n'est pas forcément intéressant.
Il est parsé dynamiquement à chaque chargement:
<link rel="stylesheet" media="screen" type="text/css" href="/doc2/lib/exe/css.php" />
J'ai passé un peu de temps à paramétrer une installation de Dokuwiki et j'ai découvert qu'ils avaient mis en place un système très intéressant pour la personnalisation d'un thème. Pour les couleurs, au lieu de modifier les fichiers CSS directement, un fichier style.ini permet de créer des variables qu'on réutilise dans les fichiers css.
Par exemple, dans le style.ini, on trouve
; these are the shades of blue __lighter__ = "#f7f9fa" __light__ = "#eef3f8" __medium__ = "#dee7ec"
et dans le fichier design.css, on trouve
div.dokuwiki span.user{ color: __mediumgray__; font-size: 90%; }
Je ne sais pas à quel moment est faite la mise à jour du fichier CSS réellement utilisé, mais j'aimerais bien que chrisaga étudie cette aproche.