How to integrate Compass with Rails 3.1 asset pipeline
group :assets do
gem 'sass-rails', '~> 3.1.0'
gem 'coffee-rails', '~> 3.1.0'
gem 'uglifier'
gem 'compass', '~> 0.12.alpha'
# include other compass plugins here. E.g.:
gem 'compass-susy-plugin', :require => 'susy'
end
if defined?(Bundler)
Bundler.require *Rails.groups(:assets => %w(development test))
end
stylesheets_directory = "#{Rails.root}/app/assets/stylesheets"
config.assets.precompile += Dir.glob("#{stylesheets_directory}/**/*.s[ac]ss*").
map{|f| f[stylesheets_directory.size+1..-1]}.
select do |file|
if config.assets.precompile.include?(file)
false
elsif File.basename(file)[0...1] == "_"
false
else
true
end
end
# if you prefer `.sass` over `.scss`.
config.sass.preferred_syntax = :sass
Compass Rails integration is trivial in rails 3.1. The "config/compass.rb" file is optional now.
During deploy run:
rake assets:precompile
app/stylesheets
or public/stylesheets/sass
to app/assets/stylesheets
.*.css.s[ac]ss
Gem based plugins: Add plugin to Gemfile
Archive based plugins: unpack the extension into vendor/plugins/compass_extensions
(optionally) Install the plugin templates. E.g.
bundle exec compass install <plugin>