alsacreations / KNACSS

feuille de styles CSS sur-vitaminée
http://www.knacss.com
Do What The F*ck You Want To Public License
554 stars 116 forks source link

Booleans incompatibles avec les mixins #96

Closed mathias7am closed 9 years ago

mathias7am commented 10 years ago

Bonjour,

Je teste pour la première fois KNACSS et j'arrive avec une question qui apparaitra peut-être très noob à certains.

Les class définies dans une structure boolean semblent incompatibles pour un usage en mixin par la suite. Par exemple, je souhaite créer une class :

.maclass {
    background:#aaa;
    .pas;
    .w50;
}

Ça provoque une erreur de compilation : "NameError: .pas is undefined"

Par contre, si je commente la structure boolean :

//& when (@enable-helpers-spacing = true) {

La compilation se fait très bien.

Perso, j'aurais tendance à :

Mais comme je suis conscient que mon point de vue n'a pas le recul d'un usager régulier de KNACSS, j'aimerais surtout et humblement poser la question de la justification de ces variables boolean.

KittyGiraudel commented 10 years ago

Ca sent surtout un souci de langage à ce niveau là. Aucun problème avec Sass de ce côté, et je vois mal pourquoi il y en aurait avec LESS. Je ne suis pas assez bon avec ce dernier pour débugger malheureusement.

PhilippeVay commented 10 years ago

Je n'ai pas testé ta manière de faire mais voilà mes remarques :

raphaelgoetter commented 10 years ago

Bonsoir,

En fait, mine de rien, bug ou non, le principe que tu proposes est loin d'être idiot finalement ;)

Je vais y réfléchir avec mes collègues.

mathias7am commented 10 years ago

@PhilippeVay : Pour compiler, j'utilise Koala. C'est vrai que ça vient peut être de lui. Est-ce que l'un d'entre vous utilise un autre compilateur et peut faire un test ?

Sinon, l'utilisation <elt class="maclass w50 pa1">blah</elt> me saoule un peu. Utiliser la class directement dans le html, ça ne me dérange pas quand il n'y a pas de class spécifique à cette élément. Par contre, quand je crée une class .maclass juste pour cet élément, c'est clair que je préfère avoir toute la mise en forme au même endroit ou à peu près. Ça permet quand même d'être bien plus sémantique et c'est bien plus facile à maintenir.

@raphaelgoetter : C'est clair que ça peut permettre d'économiser du code : 7 variables booleans en moins et 7 tests de ces variables en moins = 36 lignes de code en moins

mathias7am commented 10 years ago

Je réponds à moi-même, parce que Koala m'a saoulé :

Pour compiler, j'utilise Koala. C'est vrai que ça vient peut être de lui. Est-ce que l'un d'entre vous utilise un autre compilateur et peut faire un test ?

Avec Prepros, ça provoque aussi des erreurs de compilation. Le soucis vient donc du code qui ne permet pas d'utiliser les .class en mixin quand elles sont associé à une variable boolean.