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.
Hors ligne
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.
Hors ligne
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.
Hors ligne
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.
Hors ligne
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)
Hors ligne
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.
Dernière modification par Toff (2006-08-11 17:40:10)
Hors ligne