verekia / initializr-template

Initializr's generated page
http://www.initializr.com
1.11k stars 364 forks source link

Neglected LessCSS issue causing Initializr issue. #7

Closed jeremyricketts closed 12 years ago

jeremyricketts commented 12 years ago

The LessCSS bug has been around for literally years. It's easy to replicate and easy to work around. Many people have reported it to the LessCSS project, but the official LessCSS project seems largely uninterested in community development. Issues go ignored and pull requests aren't accepted. Anyway, here's the issue:

Short description:

CSS properties are duplicated when @importing multiple times (nested @import).

Issues on LessCSS repo (all the same issue):

https://github.com/cloudhead/less.js/issues/49 https://github.com/cloudhead/less.js/issues/71 https://github.com/cloudhead/less.js/issues/324

The pull request that would fix the issue for LessCSS:

https://github.com/cloudhead/less.js/pull/431

How it effects Initializr when using responsive.less:

The workaround:

Basically, completely avoid using an import of an import. For me, it meant essentially getting rid of bootstrap.less and responsive.less (and removing the includes of variables.less and mixins.less from responsive.less) and putting all includes in my main style.less file. Not the prettiest solution, but it works.

Conclusion:

Some people have reported their CSS files ballooning up to > 3mb mb because of all the duplicate rules generated. If I new enough ruby I'd just try and reorganize the includes a bit better in the Initializr builder so that there's no nested includes. But alas, I don't. So, I'm contributing this instead.

jeremyricketts commented 12 years ago

Hmm. You know... I may have filed this under the wrong project.

Moved to here: https://github.com/verekia/initializr-bootstrap/issues/1