Skip to content

Instantly share code, notes, and snippets.

@jaxxreal
Created September 21, 2016 21:06
Show Gist options
  • Save jaxxreal/28b77606531b46e04ae4a4d89dfd3f87 to your computer and use it in GitHub Desktop.
Save jaxxreal/28b77606531b46e04ae4a4d89dfd3f87 to your computer and use it in GitHub Desktop.
Make svg sprite with no pain (watch inside)
var fs = require('fs');
var path = require('path');
var sys = require('sys');
var exec = require('child_process').exec;
makeSprite();
console.log('start watching');
exec('svgo -f ./src/assets/icons' , () => {
fs.watch(`${__dirname}/src/assets/icons`, (eventType, filename) => {
if (filename) {
console.log(`filename provided: ${filename}`);
} else {
console.log('filename not provided');
}
makeSprite();
});
makeSprite();
});
function makeSprite() {
console.log('rebuild started...');
exec('svg-sprite-generate -d ./src/assets/icons -o sprite.svg',
(error, stdout, stderr) => {
if (error !== null) {
return console.log('exec error: ' + error);
}
try {
const svgSprite = fs.readFileSync(path.resolve(`${__dirname}/sprite.svg`), "utf-8");
console.log('rebuild complete!');
} catch (err) {
console.info("Check sprite file!");
}
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment