@@ -42,7 +42,9 @@ If this project is missing an API or command line flag that has been added to [l
## Install
npm install node-sass
```
npm install node-sass
```
Some users have reported issues installing on Ubuntu due to `node` being registered to another package. [Follow the official NodeJS docs](https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager) to install NodeJS so that `#!/usr/bin/env node` correctly resolved.
...
...
@@ -54,9 +56,8 @@ Compiling versions 0.9.4 and above on Windows machines requires [Visual Studio 2
varsass=require('node-sass');
sass.render({
file:scss_filename,
success:callback
[,options..]
});
},function(err,result){/*...*/});
// OR
varresult=sass.renderSync({
data:scss_content
...
...
@@ -65,8 +66,7 @@ var result = sass.renderSync({
```
### Options
The API for using node-sass has changed, so that now there is only one variable - an options hash. Some of these options are optional, and in some circumstances some are mandatory.
The API for using node-sass has changed, so that now there is only one options hash. In the options hash, some items are optional, others may be mandatory depending on circumstances.
#### file
`file` is a `String` of the path to an `scss` file for [libsass] to render. One of this or `data` options are required, for both render and renderSync.
...
...
@@ -140,6 +140,26 @@ You must define this option as well as `outFile` in order to generate a source m
#### sourceMapContents
`sourceMapContents` is a `Boolean` flag to determine whether to include `contents` in maps.
### The `render` Callback (starting from v2.1)
node-sass supports standard node style asynchronous callbacks with the signature of `function(err, result)`. In error conditions, the `error` argument is populated with the error object. In success conditions, the `result` object is populated with an object describing the result of the render call.
#### The Error Object
*`message` - The error message.
*`line` - The line number of error.
*`column` - The column number of error.
*`status` - The status code.
*`file` - The filename of error. In case `file` option was not set (in favour of `data`), this will reflect the value `stdin`.
#### The Result Object
*`css` - The compiled CSS. Write this to a file, or serve it out as needed.
*`map` - The source map
*`stats` - An object containing information about the compile. It contains the following keys:
*`entry` - The path to the scss file, or `data` if the source was not a file
*`start` - Date.now() before the compilation
*`end` - Date.now() after the compilation
*`duration` - *end* - *start*
*`includedFiles` - Absolute paths to all related scss files in no particular order.
### Examples
```javascript
...
...
@@ -176,6 +196,10 @@ sass.render({
},
includePaths:['lib/','mod/'],
outputStyle:'compressed'
},function(error,result){
// starting v2.1 the node-style callback has error (Object) and result (Object)
// the objects are identical to those provided for the error and success keys