Adds support for the SASS and SCSS CSS pre-processors to DocPad. It also supports the Compass framework.
This SASS/SCSS plugin uses the original ruby implementation, which requires installing ruby and the necessary gems. If you would like to use a native node implementation which would be faster (but no support for 3rd party ruby gems like compass etc) then we'd recommend using the nodesass plugin. More info here.
Convention: .css.(sass|scss)
. Make sure that you your files are located in documents
(or render
) folder as extensions-based rendering happens only inside this folder.
Install
-
Install Ruby
-
Install the SASS gem
-
Optional: Install the Compass gem
-
Install this plugin
docpad install sass
Configure
For information on customising your plugin configuration you can refer to the DocPad FAQ
Sass and Scss Paths
We automatically detect the path to your sass and scss executables, however sometimes that doesn't work and you will get ENOENT
errors. If our detection fails and you'll have to manually specify the path to your sass and scss executables with the sassPath
and scssPath
config options, more info here.
Compass Support
We automatically detect if you have compass installed, and if you do, then we'll use it. If our detection fails and you want to still use it, then set the compass
option to true
. If you have compass installed but don't want to use it then set the compass
option to false
.
Output Style
You can set the outputStyle
option to any of the supported output styles. Those being nested
, expanded
, compact
, and compressed
. By default, we use the compressed
mode for all environments, except the development mode where it is set to expanded
.
Require Libraries
You can set the requireLibraries
option to an array of extra ruby libraries you'd like to include before rendering your sass file. For instance, setting it to ['susy','compass-colors']
will include the Susy and Compass Colors plugins. By default, the value is set to null
indicating we do not include any libaries.
Render Underscore Stylesheets
By default we prevent any SASS/SCSS stylesheets that filename starts with underscore character from being rendered and written to the output directory. This is to follow SASS/SCSS convention that such files are just intended to be included inside out stylesheets, and that they are not meant to be rendered by themselves. If you really want to, you can render the underscore stylesheets by setting the renderUnderscoreStylesheets
option to true
in your plugin's configuration.
Sourcemaps
If you want to use sourcemaps, set the sourcemap
option to true
.
Bundlr Support
If you want to use bundler you can set something like this in docpad.coffee:
plugins:
sass:
scssPath: ['bundle','exec','scss']
sassPath: ['bundle','exec','sass']
Troubleshooting
I get ERROR: Cannot load compass.
Install compass again using: gem install compass --pre
History
Discover the release history by heading on over to the HISTORY.md
file.
Contribute
Discover how you can contribute by heading on over to the CONTRIBUTING.md
file.
Backers
Maintainers
These amazing people are maintaining this project:
No sponsors yet! Will you be the first?
Contributors
These amazing people have contributed code to this project:
Discover how you can contribute by heading on over to the CONTRIBUTING.md
file.
License
Unless stated otherwise all works are:
and licensed under: