glass-build
Version:
Contains scripts for building glass based projects.
78 lines (67 loc) • 2.44 kB
JavaScript
// Generated by CoffeeScript 1.6.3
(function() {
var browserBuild, buildCoffeePage, buildCoffeePages, cb, coffeePageInputExt, coffeePageOutputExt, np, utility, watchCoffeePages, watcher, _ref;
_ref = browserBuild = require('browser-build'), watcher = _ref.watcher, utility = _ref.utility;
np = require('path');
cb = require('coffeebars');
coffeePageInputExt = ".page";
coffeePageOutputExt = ".coffee";
exports.buildCoffeePages = buildCoffeePages = function(config) {
var inputFile, _base, _base1, _i, _len, _ref1;
if (config == null) {
return;
}
if ((_base = config.input).extension == null) {
_base.extension = coffeePageInputExt;
}
if ((_base1 = config.output).extension == null) {
_base1.extension = coffeePageOutputExt;
}
_ref1 = utility.list(config.input.directory, {
include: config.input.extension
});
for (_i = 0, _len = _ref1.length; _i < _len; _i++) {
inputFile = _ref1[_i];
buildCoffeePage(config, inputFile);
}
return utility.buildCoffee(config.output.directory, config.output.directory);
};
exports.watchCoffeePages = watchCoffeePages = function(config) {
var _base, _base1;
if (config == null) {
return;
}
if ((_base = config.input).extension == null) {
_base.extension = coffeePageInputExt;
}
if ((_base1 = config.output).extension == null) {
_base1.extension = coffeePageOutputExt;
}
watcher.watchDirectory(config.input.directory, {
include: config.input.extension
}, function(file) {
console.log("Compiling " + file);
return buildCoffeePage(config, file);
});
return utility.watchCoffee(config.output.directory, config.output.directory);
};
exports.buildCoffeePage = buildCoffeePage = function(config, inputFile) {
var compiled, e, input, inputExt, output, outputExt, outputFile, source;
input = config.input.directory;
output = config.output.directory;
inputExt = config.input.extension;
outputExt = config.output.extension;
outputFile = np.join(output, np.relative(input, inputFile)).slice(0, -inputExt.length) + outputExt;
source = utility.read(inputFile);
try {
compiled = cb.toCoffeeScript(source);
return utility.write(outputFile, compiled);
} catch (_error) {
e = _error;
return console.log(e);
}
};
}).call(this);
/*
//@ sourceMappingURL=coffeepages.map
*/