@@ -42,7 +42,9 @@ If this project is missing an API or command line flag that has been added to [l
...
@@ -42,7 +42,9 @@ If this project is missing an API or command line flag that has been added to [l
## Install
## 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.
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
...
@@ -54,9 +56,8 @@ Compiling versions 0.9.4 and above on Windows machines requires [Visual Studio 2
varsass=require('node-sass');
varsass=require('node-sass');
sass.render({
sass.render({
file:scss_filename,
file:scss_filename,
success:callback
[,options..]
[,options..]
});
},function(err,result){/*...*/});
// OR
// OR
varresult=sass.renderSync({
varresult=sass.renderSync({
data:scss_content
data:scss_content
...
@@ -65,8 +66,7 @@ var result = sass.renderSync({
...
@@ -65,8 +66,7 @@ var result = sass.renderSync({
```
```
### Options
### Options
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.
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.
#### file
#### 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.
`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
...
@@ -140,6 +140,26 @@ You must define this option as well as `outFile` in order to generate a source m
#### sourceMapContents
#### sourceMapContents
`sourceMapContents` is a `Boolean` flag to determine whether to include `contents` in maps.
`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
### Examples
```javascript
```javascript
...
@@ -176,6 +196,10 @@ sass.render({
...
@@ -176,6 +196,10 @@ sass.render({
},
},
includePaths:['lib/','mod/'],
includePaths:['lib/','mod/'],
outputStyle:'compressed'
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