zestedesavoir / zds-site

Cœur du projet technique de Zeste de Savoir
https://zestedesavoir.com
Other
268 stars 162 forks source link

Rendre le code source "opensource friendly" #1520

Closed firm1 closed 9 years ago

firm1 commented 10 years ago

Aujourd'hui, le code source de ZdS n'est pas "opensource friendly" dans le sens ou si on veut créer un site comme ZdS avec juste un nom et un mascotte différente, il faut aller modifier une pile de templates pour adapter l'affichage.

Il faudrait une sorte de fichier de configuration dans lequel on renseignerait les paramètres du site (nom du site, description, logo, avatar) afin d'avoir un site basé sur le code de ZdS sans forcément que ça ne soit ZdS.

Il serait pratique aussi d'avoir dans ce fichier de config, les deux couleurs liées au site. Dans le cas de zds on a #084561 et #EE8709.

Alex-D commented 10 years ago

Il serait pratique aussi d'avoir dans ce fichier de config, les deux couleurs liées au site. Dans le cas de zds on a #084561 et #EE8709.

Ce sont des variables dans main.scss tout ça.

firm1 commented 10 years ago

Ce sont des variables dans main.scss tout ça.

Pas vraiment car :

SpaceFox commented 10 years ago

Tiens, je n'avais jamais vu ça mais visiblement il y a des lignes qui ressemblent à une jolie erreur de nommage, du genre "ultra-classique" dans ce fameux main.scss :

$blue: #084561;
$orange: #F8AD32;

[...]

$upvote-green: #48a200;
$downvote-red: #c0392b;

On a des noms de variables qui sauf erreur de ma part décrivent la valeur qu'elles ont et non son utilisation. Ça reste cohérent tant qu'on reste sur ce jeu de couleurs ; mais le jour où on décide de changer, on va se retrouver avec des choses du niveau de int five = 17 : le nom et la valeur ne seront plus cohérents.

Alex-D commented 10 years ago

C'est pas faux. Mais en même temps, je vois mal comment nommer $blue quand il sert à la fois pour le background du header, pour certains liens, pour certains boutons, etc.

Autant je veux bien mettre un commentaire pour dire à quel endroit ça touche (bien qu'un Ctrl+F soit bien plus efficace) autant je ne vois pas de nom évident à donner à de telles variables, ou alors des noms qui ne veulent plus rien dire genre $color1 pour être détaché de son contenu, mais qui ne nous avancent pas plus.

Any suggestion ?

SpaceFox commented 10 years ago

$couleurPrincipale / $couleurSecondaire ?

Alex-D commented 10 years ago

C'est pas adapté, y a beaucoup de couleurs l'air de rien.

SpaceFox commented 10 years ago

Ben tu y arrives très bien pour certaines :

$body-background: #F7F7F7;
$header-hover: #396a81;
$helpful: #e9f9dc;
$sidebar-background: #F0F0F0;
$sidebar-hover: #FFF;

Et presque pour d'autres :

$upvote-green: #48a200;
$downvote-red: #c0392b;
Alex-D commented 10 years ago

C'est pas faux non plus. Je vais regarder pour faire un patch en ce sens.

Alex-D commented 10 years ago

Après un passage dans le code,

on retrouve encore dans les autres fichiers scss des couleurs et font hardcodées

Aucune font n'est hardcodé. La seule qu'on peut voir sert à afficher un "+" correctement, et ça n'a pas à être paramétrable au risque de casser sa mise en forme.

Les couleurs hardcodée, s'il y en a c'est qu'elles ne sont pas liées aux couleurs primaires et secondaires ni aux autres. Et la plupart sont des teintes de gris, ce qui se marie donc avec n'importe quel thème. On peut éventuellement passer ça en variables, mais je n'en vois très franchement pas l'intérêt.

firm1 commented 10 years ago

Les couleurs hardcodée, s'il y en a c'est qu'elles ne sont pas liées aux couleurs primaires et secondaires ni aux autres.

Je prend par exemple la couleur du header qui est clairement hardcodée car il faudrait lui attribuer la même couleur que celle du footer à savoir $primary. Plus généralement toutes les occurences de #084561 dans les fichiers scss qui ne sont pas main.scss doivent être modifiées.

Alex-D commented 10 years ago

il faudrait lui attribuer la même couleur que celle du footer

Le footer est déjà basé sur un darken du $primary, j'ai du zapper le header. Je ferais ça du coup.

firm1 commented 10 years ago

C'est corrigé coté back-end.

Il ne manque plus que la correction complète coté front-end, ainsi que sa documentation, et on est bon.

Alex-D commented 10 years ago

Il ne manque plus que la correction complète coté front-end

J'y ai travaillé hier et je continue là, je vais faire une PR sous peu.

ainsi que sa documentation

Ca c'est une autre issue.

SpaceFox commented 9 years ago

C'est bon ici !