Sequence the continuations in order.
This commit is contained in:
parent
f0b4e71665
commit
186efb97a5
22
make.js
22
make.js
|
@ -1,10 +1,10 @@
|
||||||
var fs = require('fs');
|
var fs = require('fs');
|
||||||
|
var Promise = require('es6-promise').Promise;
|
||||||
var dot = require('dot');
|
var dot = require('dot');
|
||||||
var SVGO = require('svgo');
|
var SVGO = require('svgo');
|
||||||
var badges = require('./badges.json');
|
var badges = require('./badges.json');
|
||||||
var template = fs.readFileSync('./template.svg');
|
var template = fs.readFileSync('./template.svg');
|
||||||
var imageTemplate = dot.template(''+template);
|
var imageTemplate = dot.template(''+template);
|
||||||
//console.log(imageTemplate.toString())
|
|
||||||
|
|
||||||
// Construct the image sheet.
|
// Construct the image sheet.
|
||||||
var imageSheet = './sheet.html';
|
var imageSheet = './sheet.html';
|
||||||
|
@ -15,7 +15,7 @@ function optimize(string, callback) {
|
||||||
svgo.optimize(string, callback);
|
svgo.optimize(string, callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
function makeImage(name, data) {
|
function makeImage(name, data, cb) {
|
||||||
var result = imageTemplate(data);
|
var result = imageTemplate(data);
|
||||||
// Run the SVG through SVGO.
|
// Run the SVG through SVGO.
|
||||||
optimize(result, function(object) {
|
optimize(result, function(object) {
|
||||||
|
@ -24,20 +24,26 @@ function makeImage(name, data) {
|
||||||
resultSheet += result;
|
resultSheet += result;
|
||||||
// Write the image individually.
|
// Write the image individually.
|
||||||
fs.writeFileSync(name + '.svg', result);
|
fs.writeFileSync(name + '.svg', result);
|
||||||
|
cb();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Return a promise to have all images written out individually.
|
||||||
function buildImages() {
|
function buildImages() {
|
||||||
for (var name in badges) {
|
return Promise.all(Object.keys(badges).map(function(name) {
|
||||||
makeImage(name, badges[name]);
|
return new Promise(function(resolve) {
|
||||||
}
|
makeImage(name, badges[name], resolve);
|
||||||
|
});
|
||||||
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
function main() {
|
function main() {
|
||||||
// Write the images individually.
|
// Write the images individually.
|
||||||
buildImages();
|
buildImages()
|
||||||
// Write the sheet.
|
.then(function() {
|
||||||
fs.writeFileSync(imageSheet, resultSheet);
|
// Write the sheet.
|
||||||
|
fs.writeFileSync(imageSheet, resultSheet);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
main();
|
main();
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
"license": "CC0",
|
"license": "CC0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"dot": ">=1.0.2",
|
"dot": ">=1.0.2",
|
||||||
"svgo": "~0.4.2"
|
"svgo": "~0.4.2",
|
||||||
|
"es6-promise": "~0.1.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user