codyhouse / codyhouse-framework

A lightweight front-end framework for building accessible, bespoke interfaces.
https://codyhouse.co/
MIT License
1.16k stars 173 forks source link

What is the reason for "Simplified framework file structure"? #55

Closed loxy closed 4 years ago

loxy commented 4 years ago

Hi!

I like your framework very much! What is the reason you "simplified the framework structure" in commit https://github.com/CodyHouse/codyhouse-framework/commit/56de7583d14b3b8ba6dd9abc6ba121b0502e20f9#diff-ae4dce3eb5dc858397675ab1bee2ab49?

Now it is much harder to include only parts of your framework, for example the mixins.

sebastiano-guerriero commented 4 years ago

Hi there!

And thanks for the kind words :) Here's how you can import only the mixins (or any other specific base partial):

$cody-base-partials: 'breakpoints', 'mixins';
@import 'base'

When we say "simplify", we refer to those users who got in touch because the difference between "base" and "custom-style" folders (with sort of duplicate file names) wasn't clear.

More info on our documentation: https://codyhouse.co/ds/docs/framework#content

loxy commented 4 years ago

But what if I have to import the files multiple times? I'm using Angular and some components need to import the mixins. Therefore I'm using @use (the new module syntax of Sass). This is not possible anymore, if I have to setup a global variable before to import the right stuff...

When we say "simplify", we refer to those users who got in touch because the difference between "base" and "custom-style" folders (with sort of duplicate file names) wasn't clear.

Ok, but the structure was neat and tidy. Now everything is in one huge file. And there was this _base.scss which imported everything from the base folder. The duplicated file names made sense in my eyes, because the custom styles overwrote the base settings. If this isn't clear for some users, maybe they should dig deeper into your framework and try to understand the intention.

Your framework is really nice and state of the art. I think your way of implementing a design systems is universally applicable and trendsetting. Maybe you should follow the same modern way by using the new module syntax of Sass.

Unfortunately, it is still not implemented in lib-sass, which is the foundation of node-sass, see: https://github.com/sass/libsass/issues/2807.

loxy commented 4 years ago

The first argument is obsolete. One can use @use with with (muhaa):

@use 'base' with (
  $cody-base-partials: 'breakpoints', 'mixins'
);

Even it is more verbose...

claudia-romano commented 4 years ago

Anyone who works with the framework is a full-time front-end developer and not a housewife who occasionally does a little CSS and HTML.

@w3work We have removed your comment because we do not accept misogynist comments. If you want to add to this thread, please make sure not to include such comments. Thank you.

@all We have scheduled an update to the framework to revert the changes of version 2.7. We have collected feedback from our users and, while the issue is not searching through a bigger base file, we couldn't find a solution to allow the importing of specific partials multiple times in the same file. The solution we suggested worked with the SASS @import syntax but is not properly supported by the new @use syntax.

w3work commented 4 years ago

@claudia-romano My comment was not meant to be pejorative. I wanted to show a simple example of which people actually work with the framework and maybe you don't have to take the simplest user into account here. Perhaps the housewife was not a good example, but I just wanted to express that no layperson works with it. Sorry for this misunderstanding. In my german words, my expression and intention is complety different.

sebastiano-guerriero commented 4 years ago

we've just published v.2.7.3, which brings back the Base folder with the partials: https://github.com/CodyHouse/codyhouse-framework/releases/tag/2.7.3

loxy commented 4 years ago

Great! Thank you!