diff options
Diffstat (limited to 'docs/src/writer.js')
| -rw-r--r-- | docs/src/writer.js | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/docs/src/writer.js b/docs/src/writer.js index cf54e1a3..061b9f9f 100644 --- a/docs/src/writer.js +++ b/docs/src/writer.js @@ -10,12 +10,20 @@ function output(docs, content, callback){ callback(); } +function parent(file) { + var parts = file.split('/'); + parts.pop(); + return parts.join('/'); +} + exports.output = function(file, content, callback){ - //console.log('writing', OUTPUT_DIR + file, '...'); - fs.writeFile( - OUTPUT_DIR + file, - exports.toString(content), - callback); + console.log('write', file); + exports.makeDir(parent(OUTPUT_DIR + file), callback.waitFor(function(){ + fs.writeFile( + OUTPUT_DIR + file, + exports.toString(content), + callback); + })); }; @@ -39,7 +47,8 @@ exports.toString = function toString(obj){ exports.makeDir = function (path, callback) { var parts = path.split(/\//); path = '.'; - (function next(){ + (function next(error){ + if (error && error.code != 'EEXIST') return callback.error(error); if (parts.length) { path += '/' + parts.shift(); fs.mkdir(path, 0777, next); |
