From b079e099f902f26552d47254eb33fbd17e3cfb53 Mon Sep 17 00:00:00 2001 From: Chris Montgomery Date: Tue, 30 Jun 2015 18:28:26 -0400 Subject: [PATCH] strip hash chars from file path If a user specifies a color in hex format, the hash character (#) should not appear in the file path. Otherwise this can cause numerous issues with browsers and shell completion. --- lib/generateIcon.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/generateIcon.js b/lib/generateIcon.js index f350c15fb..9d062c64e 100644 --- a/lib/generateIcon.js +++ b/lib/generateIcon.js @@ -14,12 +14,12 @@ var svgo = new SVGO({ function generatePng(siz, name, params) { return new Promise(function(resolve, reject) { var rsvgConvert; - var color = params.color; + var colorDir = params.color.replace('#', ''); var svgCode = getIconSvg(params, siz); - var filename = pathModule.join(params.destFolder, color, 'png', siz.toString(), name + '.png'); + var filename = pathModule.join(params.destFolder, colorDir, 'png', siz.toString(), name + '.png'); rsvgConvert = spawn('rsvg-convert', ['-f', 'png', '-w', siz, '-o', filename]); if (process.env.INTERMEDIATE_SVG) { - fs.writeFileSync(pathModule.join(params.destFolder, color, 'png', siz.toString(), name + '.svg'), svgCode); + fs.writeFileSync(pathModule.join(params.destFolder, colorDir, 'png', siz.toString(), name + '.svg'), svgCode); } rsvgConvert.stdin.end(svgCode); rsvgConvert.once('error', reject); @@ -38,14 +38,16 @@ function generatePng(siz, name, params) { function generatePngs(name, params) { + var colorDir = params.color.replace('#', ''); return Promise.map(params.sizes, function (siz) { - mkdirp.sync(pathModule.join(params.destFolder, params.color, 'png', siz)); + mkdirp.sync(pathModule.join(params.destFolder, colorDir, 'png', siz)); return generatePng(siz, name, params); }, {concurrency: process.env['JOBS'] || 4}); } function generateSvg(name, params) { - var svgFolder = pathModule.join(params.destFolder, params.color, 'svg'); + var colorDir = params.color.replace('#', ''); + var svgFolder = pathModule.join(params.destFolder, colorDir, 'svg'); mkdirp.sync(svgFolder); return new Promise(function(resolve, reject) {