0.03
The project is in a healthy, maintained state
An embedded sass shim for SassC.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

 Project Readme

Embedded Sass Shim for SassC Ruby

build gem

Use sass-embedded with SassC Ruby!

This library shims sassc with the sass-embedded implementation.

Which Sass implementation should I use for my Ruby project?

Install

Add this line to your application's Gemfile:

gem 'sassc-embedded'

And then execute:

bundle

Or install it yourself as:

gem install sassc-embedded

Usage

This shim utilizes sass-embedded to allow you to compile SCSS or SASS syntax to CSS. To compile, use a SassC::Engine, e.g.:

require 'sassc-embedded'

SassC::Engine.new(sass, style: :compressed).render

Most of the original sassc options are supported with no behavior difference unless noted otherwise:

  • :filename
  • :quiet
  • :precision - ignored
  • :line_comments - ignored
  • :syntax
  • :source_map_embed
  • :source_map_contents
  • :omit_source_map_url
  • :source_map_file
  • :importer
  • :functions
  • :style - :nested and :compact behave as :expanded
  • :load_paths

See sassc-ruby source code and libsass documentation for details.

Additional sass-embedded options are supported:

  • :charset
  • :importers
  • :alert_ascii
  • :alert_color
  • :fatal_deprecations
  • :future_deprecations
  • :logger
  • :quiet_deps
  • :silence_deprecations
  • :verbose

See sass-embedded documentation for details.

Troubleshooting

The original sassc gem is still being used instead of sassc-embedded

When launching an application via bundle exec, it puts sassc-embedded at higher priority than sassc in $LOAD_PATH. You can verify the order of $LOAD_PATH with the following command:

bundle exec ruby -e 'puts $LOAD_PATH'

If you see sassc has higher priority than sassc-embedded, try remove sassc:

bundle remove sassc

If your application has a transitive dependency on sassc that cannot be removed, you can use one of the following workarounds.

Workaround One

Add this line to your application's Gemfile:

gem 'sassc', github: 'sass/sassc-ruby', ref: 'refs/pull/233/head'

And then execute:

bundle

The fork of sassc at sass/sassc-ruby#233 will load the shim whenever require 'sassc' is invoked, meaning no other code changes needed in your application.

Workaround Two

Add this line to your application's code:

require 'sassc-embedded'