Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sass/sassc-rails
Integrate SassC-Ruby with Rails!
https://github.com/sass/sassc-rails
Last synced: about 1 month ago
JSON representation
Integrate SassC-Ruby with Rails!
- Host: GitHub
- URL: https://github.com/sass/sassc-rails
- Owner: sass
- License: mit
- Created: 2015-03-04T03:27:34.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2023-09-01T14:19:22.000Z (about 1 year ago)
- Last Synced: 2024-05-22T18:20:35.248Z (6 months ago)
- Language: HTML
- Homepage:
- Size: 204 KB
- Stars: 706
- Watchers: 20
- Forks: 107
- Open Issues: 60
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# SassC::Rails [![Build Status](https://travis-ci.org/sass/sassc-rails.svg)](https://travis-ci.org/sass/sassc-rails) [![Gem Version](https://badge.fury.io/rb/sassc-rails.svg)](http://badge.fury.io/rb/sassc-rails)
We all love working with Sass, but compilation can take quite a long time for larger
codebases. This gem integrates the C implementation of Sass,
[LibSass](https://github.com/sass/libsass), into the asset pipeline.In one larger project, this made compilation 4x faster:
```
# Using sassc-rails[1] pry(main)> Benchmark.bm { |bm| bm.report { Rails.application.assets["application.css"] } }
user system total real
1.720000 0.170000 1.890000 ( 1.936867)# Using sass-rails
[1] pry(main)> Benchmark.bm { |bm| bm.report { Rails.application.assets["application.css"] } }
user system total real
7.820000 0.250000 8.070000 ( 8.106347)
```This should essentially be a drop in alternative to [sass-rails](https://github.com/rails/sass-rails).
## Inline Source Maps
With SassC-Rails, it's also extremely easy to turn on inline source maps. Simply
add the following configuration to your development.rb file:```ruby
# config/environments/development.rb
config.sass.inline_source_maps = true
```After adding this config line, you may need to clear your assets cache
(`rm -r tmp/cache/assets`), stop spring, and restart your rails server. You may
also wish to disable line comments (`config.sass.line_comments = false`).Note, as indicated, these source maps are *inline*. They will not generate additional
files or anything like that. Instead, they will be appended to the compiled
application.css file.## LibSass Compatibility With Ruby Sass
For a look at the compatibility between Ruby Sass and LibSass, check this
[compatibility chart](http://sass-compatibility.github.io/) out.## Installation
Add this line to your application's Gemfile:
```ruby
gem 'sassc-rails'
```And then execute:
$ bundle
## Common Issues
### Deployment to Heroku
Due to LibSass compilation requirements, you must upgrade to the
[Heroku Cedar-14 Stack](https://devcenter.heroku.com/articles/cedar-14-migration)
in order to successfully install this gem.Upgrading to Cedar-14 is usually a painless process.
### Installing alongside a gem that depends on Sass-Rails
Libraries explicitly depending on Sass-Rails, such as ActiveAdmin, can cause
conflicts with installation of SassC-Rails. While we have no built-in solution
for this, please check out [this issue](https://github.com/sass/sassc-rails/issues/6)
for a workaround.## Credits
This gem is based on [sass-rails](https://github.com/rails/sass-rails), and
is maintained by [Ryan Boland](https://ryanboland.com) and [awesome contributors](https://github.com/sass/sassc-rails/graphs/contributors).## Changelog
- **2.1.2**
- [Correct reference to SassC::Script::Value::String](https://github.com/sass/sassc-rails/pull/129)
- **2.1.1**
- [Fix Scaffolding](https://github.com/sass/sassc-rails/pull/119)
- **2.1.0**
- [JRuby support](https://github.com/sass/sassc-rails/pull/113)
- [SCSS / SASS scaffolding](https://github.com/sass/sassc-rails/pull/112)
- **2.0.0**
- [Drop support for Sprockets 2](https://github.com/sass/sassc-rails/pull/109)
- [Remove dependency on Ruby Sass](https://github.com/sass/sassc-rails/pull/109)
- **1.3.0**
- [Silence Sprockets deprecation warnings](https://github.com/sass/sassc-rails/pull/76)
- [Sprockets 4 compatibility](https://github.com/sass/sassc-rails/pull/65)
- **1.2.1**
- Bump SassC (and thus LibSass) version
- **1.2.0**
- [Support sprockets-rails 3](https://github.com/sass/sassc-rails/pull/41)
- [Only depend on Railties instead of full Rails](https://github.com/sass/sassc-rails/pull/52)
- **1.1.0**
- Moved under the official sass organization!
- [Source line comments](https://github.com/sass/sassc-rails/pull/24) (`app.config.sass.line_comments`)
- [Prevent sass-rails railtie from running](https://github.com/sass/sassc-rails/pull/34)
- [CSS compression may be disabled in test mode](https://github.com/sass/sassc-rails/issues/33). Special thanks to [this Sass-Rails PR](https://github.com/rails/sass-rails/pull/338) for inspiration.
- **1.0.0**
- Initial Release
- Add support for inline source maps
- Support compression in the way that Sass-Rails handles it## Contributing
1. Fork it ( https://github.com/sass/sassc-rails/fork )
1. Create your feature branch (`git checkout -b my-new-feature`)
1. Commit your changes (`git commit -am 'Add some feature'`)
1. Add Tests
1. Push to the branch (`git push origin my-new-feature`)
1. Create a new Pull Request