From 2b6af02d8eefb6f9e27e1bdcfa8e19fc08d93d94 Mon Sep 17 00:00:00 2001 From: Sami Samhuri Date: Sat, 26 Nov 2011 19:30:01 -0800 Subject: [PATCH] fix blog builder --- build.js | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/build.js b/build.js index 02d8afd..0bd3292 100755 --- a/build.js +++ b/build.js @@ -45,18 +45,22 @@ function main() { function buildProject(name, project, ctx) { var dir = path.join(__dirname, 'proj', name) , index = path.join(dir, 'index.html') - fs.statSync(dir) - fs.mkdir(dir, 0775, function(err) { - if (err && err.code !== 'EEXIST') throw err - fs.unlink(index, function(err) { - if (err && err.code !== 'ENOENT') throw err - project.name = name - fs.writeFile(index, mustache.to_html(ctx.template, project), function(err) { - if (err) console.error('error: ', err.message) - ctx.n -= 1 - console.log('* ' + name + (err ? ' (failed)' : '')) - if (ctx.n === 0) console.log('done projects') - }) + + try { + fs.statSync(dir) + } + catch (e) { + fs.mkdirSync(dir, 0775) + } + + fs.unlink(index, function(err) { + if (err && err.code !== 'ENOENT') throw err + project.name = name + fs.writeFile(index, mustache.to_html(ctx.template, project), function(err) { + if (err) console.error('error: ', err.message) + ctx.n -= 1 + console.log('* ' + name + (err ? ' (failed)' : '')) + if (ctx.n === 0) console.log('done projects') }) }) }