Compass / compass

Compass is no longer actively maintained. Compass is a Stylesheet Authoring Environment that makes your website design simpler to implement and easier to maintain.
http://compass-style.org
Other
6.72k stars 1.18k forks source link

Avoid compiling CSS for imported extensions #1867

Open vdboor opened 9 years ago

vdboor commented 9 years ago

After upgrading from compass 0.12 to 1.x, it now generates additional CSS files for the 'required' extensions. I'm only importing using parts of the bootstrap-sass in my own scss files, so there is no need to generate an additional frontend/css/bootstrap/ folder for all files in the bootstrap-sass extension.

Can this be disabled? Thanks in advance!

require 'bootstrap-sass'

http_path = "/" 
css_dir = "frontend/static/frontend/css"
sass_dir = "frontend/sass"
images_dir = "frontend/static/frontend/img"
javascripts_dir = "frontend/static/frontend/js"

output_style = :expanded
relative_assets = true
line_comments = false

sass_options = { 
    :debug_info => false
}

# django-compressor already adds file hashes, compass doesn't have to.
asset_cache_buster :none
lolmaus commented 9 years ago
  1. Please show your Sass @imports.
  2. Does it produce unwanted CSS when you don't import anything?
vdboor commented 9 years ago
  1. Please show your Sass @imports.

The Sass @imports are a lot but nothing special: I selectively import bootstrap features; combined with extra variables.

@import "partials/mainsites/config/defaults";
@import "partials/mainsites/config/globals";

@import "bootstrap/accordion";
@import "bootstrap/alerts"; // Note: alerts share common CSS with buttons and thus have styles in buttons.less
@import "bootstrap/breadcrumbs";
@import "bootstrap/button-groups";
@import "bootstrap/buttons";
@import "bootstrap/carousel";
@import "bootstrap/close";
@import "bootstrap/component-animations";
@import "bootstrap/dropdowns";
@import "bootstrap/forms";
@import "bootstrap/grid";
@import "bootstrap/hero-unit";
@import "bootstrap/labels-badges";
@import "bootstrap/layouts";
@import "bootstrap/media";
@import "bootstrap/mixins";
@import "bootstrap/modals";
@import "bootstrap/navbar";
@import "bootstrap/navs";
@import "bootstrap/pager";
@import "bootstrap/pagination";
@import "bootstrap/popovers";
@import "bootstrap/progress-bars";
@import "bootstrap/reset";
@import "bootstrap/responsive-1200px-min";
@import "bootstrap/responsive-767px-max";
@import "bootstrap/responsive-768px-979px";
@import "bootstrap/responsive-navbar";
@import "bootstrap/responsive-utilities";
@import "bootstrap/scaffolding";
@import "bootstrap/tables";
@import "bootstrap/thumbnails";
@import "bootstrap/tooltip";
@import "bootstrap/type";
@import "bootstrap/utilities"; // Has to be last to override when necessary
@import "bootstrap/variables";
@import "bootstrap/wells";

@import "compass/css3";
@import "compass/utilities/";

@import "partials/mainsites/modules/faq";
@import "partials/mainsites/modules/footer";
@import "partials/mainsites/modules/forms";
...
@import "partials/mainsites/modules/order_funnel";
@import "partials/mainsites/modules/product_detail";
@import "partials/mainsites/modules/product_index";
@import "partials/mainsites/modules/thank_you";

That all works fine, as Sass can find the Ruby Gem resources.

2 Does it produce unwanted CSS when you don't import anything?

If you take the given config.rb in an empty directory, and run compass compile, the boostrap CSS files will be generated for you.