hello @vincent.cantin! nice job taking everything together here, I like here some of my thoughts around it, the things I like about tailwind and some of the motivations design I considered for tailwind-garden: 1. girouette seems cool, but also too open for my taste, one of the things I quite like about tailwind is its constraints, altough customizable, I think they a great starting point, and that's what I plan to use most of times, I prefer that than having all the options available (specially when working with Teams, there specially I find having too many options more a burden than a gain, also, using the same thing as tailwind gets documentation for free, just point to tailwind) 2. macrocss seems pretty cool, but I the definitions being inside multimethods has some issues, that approach can't proper do dead code elimination when using with CLJS, so if you load that NS in cljs, you have to get it all 3. tailwind-clj seems old, and does a lot of string manipulation 4. sail seems good, but uses its own format, I like garden as a standard for expressing css (also clj only, altough seems an easy port since most of it is data) all that said, I think there could be a future with a more mixed approach, on tailwind-garden I finished porting all of the current tailwind main stuff, and some helpers to generate variants (and also responsive classes), to me that's quite a suite spot, but glad to see the interest on all of that 🙂
I like your idea of constraining the css for team work. I could add an option to girouette to have lint warnings during the css class extraction, triggered when css classes are not in a provided white list.
@vincent.cantin this article here from the author of Tailwind makes a lot of good points for utility css vs semantic: https://adamwathan.me/css-utility-classes-and-separation-of-concerns/
I'm also seeing some resources naming it as "Functional CSS", hehe, funny alignment here
Rich Hickey could say: Discussing where the composition of CSS rules should happen in a P.L.O.D., a “PLace Oriented Discussion” 🙂
@wilkerlucio I am already convinced that the Tailwind approach is good.