mason
Version:
simple, fun, static-file builder for jade, stylus, and javascript
29 lines (25 loc) • 818 B
JavaScript
var util = require('../util');
var fs = require('fs');
var stylus = require('stylus');
var nib = require('nib');
// TODO: make capable of compiling multiple source files together
module.exports = function(options) {
var asset = options.asset;
// Lists of source and dest files
var sourceFile = util.buildPaths(options.dir, asset.fromBase, asset.fromSrc)[0];
var destFiles = util.buildPaths(options.dir, asset.toBase, asset.toSrc);
// Build the css
var contents = fs.readFileSync(sourceFile, 'utf-8');
return stylus(contents)
.set('filename', sourceFile)
.use(nib())
.render(function(err, css) {
if (err) throw err;
return writeAllFiles(css);
});
function writeAllFiles(css) {
destFiles.forEach(function(destFile) {
util.writeFile(destFile, css);
});
}
};