Skip to content

Instantly share code, notes, and snippets.

@snnwolf
Forked from jreading/gist:4437292
Last active August 29, 2015 14:26
Show Gist options
  • Save snnwolf/11dd5318fd5a605b7ace to your computer and use it in GitHub Desktop.
Save snnwolf/11dd5318fd5a605b7ace to your computer and use it in GitHub Desktop.
var css = 'insert lots of css here';
var files = {};
css = css.replace(/url\(["']?(\S*)\.(png|jpg|jpeg|gif)["']?\)/g, function(match, file, type)
{
var fileName = file + '.' + type;
var size = fs.statSync(fileName).size;
if (size > 4096) {
console.log('Skipping ' + fileName + ' (' + (Math.round(size/1024*100)/100) + 'k)');
return match;
}
else {
var base64 = fs.readFileSync(fileName).toString('base64');
if (typeof(files[fileName]) !== 'undefined') {
console.log('Warning: ' + fileName + ' has already been base64 encoded in the css');
}
files[fileName] = true;
return 'url("data:image/' + (type === 'jpg' ? 'jpeg' : type) + ';base64,' + base64 + '")';
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment