gulp-ruby-sass
Compile Sass to CSS with Ruby Sass
This is slower than gulp-sass, but more stable and feature-rich.
Issues with the output should be reported on the Sass issue tracker.
Install
$ npm install --save-dev gulp-ruby-sass
You also need to have Ruby and Sass installed. If you're on OS X or Linux you probably already have Ruby; test with ruby -v
in your terminal. When you've confirmed you have Ruby, run gem install sass
to install Sass.
Usage
var gulp = require('gulp');
var sass = require('gulp-ruby-sass');
gulp.task('default', function () {
return gulp.src('src/scss/app.scss')
.pipe(sass({sourcemap: true, sourcemapPath: '../scss'}))
.pipe(gulp.dest('dist/css'));
});
Include all the files Sass needs to compile CSS in your gulp.src()
glob, including the Gemfile and Gemfile.lock if necessary.
Use gulp-watch to watch and recompile your files.
Note to users upgrading from < 0.6.0 versions: 0.6.0 removes a loophole that implicitly loaded all files in the same directory as the file being processed. Edit your gulp.src()
globs to include every file you need to make available to the Sass command.
API
sass(options)
options
sourcemap
Type: Boolean
Default: false
Enable Source Map. Requires Sass >= 3.3.0 and the sourcemapPath
option.
sourcemapPath
Type: string
A relative path from the output CSS directory to the Sass source directory as seen by your web server.
Because gulp-ruby-sass can't know your CSS destination directory or your server setup you have to give a little extra information to help the browser find sourcemaps. Examples:
- If source is
site/scss
, destination issite/css
, and you're serving fromsite
:{ sourcemapPath: '../scss' }
. - If source is
app/styles
, destination is.tmp/styles
, and you're serving both.tmp
andapp
:{ sourcemapPath: '.' }
.
trace
Type: Boolean
Default: false
Show a full traceback on error.
unixNewlines
Type: Boolean
Default: false
on Windows, otherwise true
Use Unix-style newlines in written files.
check
Type: Boolean
Default: false
Just check syntax, don't evaluate.
style
Type: String
Default: nested
Output style. Can be nested
, compact
, compressed
, expanded
.
precision
Type: Number
Default: 3
How many digits of precision to use when outputting decimal numbers.
quiet
Type: Boolean
Default: false
Silence warnings and status messages during compilation.
compass
Type: Boolean
Default: false
Make Compass imports available and load project configuration (config.rb
located close to the gulpfile.js
).
debugInfo
Type: Boolean
Default: false
Emit output that can be used by the FireSass Firebug plugin.
lineNumbers
Type: Boolean
Default: false
Emit comments in the generated CSS indicating the corresponding source line.
loadPath
Type: String|Array
One or more Sass import paths, relative to the gulpfile.
require
Type: String|Array
Require one or more Ruby libraries before running Sass.
cacheLocation
Type: String
Default: .sass-cache
The path to put cached Sass files.
noCache
Type: Boolean
Default: false
Don't cache to sassc files.
bundleExec
Type: Boolean
Default: false
Run sass
with bundle exec: bundle exec sass
. For bundler to work correctly you must add the Gemfile and Gemfile.lock to your gulp.src()
glob.
License
MIT © Sindre Sorhus