module.exports = function writeToFile(content, filename, createMissingFolders, cb) {
    var templates = loadTemplates();

    if (wrStream && lastFilename !== filename) {
        wrStream.end();
        wrStream = null;
    }

    if (!wrStream) {
        var stats,
            size = 0,
            dir = path.dirname(filename);

        if (createMissingFolders && !fs.existsSync(dir)) {
            fs.mkdirTree(dir);
        }

        wrStream = fs.createWriteStream(filename);
        wrStream.write(templates.pageHeader);
        // TODO: not working
        // wrStream.on('end', function() {
        //     var wrStream1 = fs.createWriteStream(filename);
        //     wrStream1.write(templates.pageFooter);
        // });
        lastFilename = filename;
    }

    wrStream.write(content, (typeof cb === 'function') ? cb : function() { });
}
Example #2
0
 fs.mkdirTree = function (dir){
     var parent = path.dirname(dir);
     if(!fs.existsSync(parent)){
         fs.mkdirTree(parent);
     }
     if (!fs.existsSync(dir)) {
         fs.mkdir(dir);
     }
 }              
Example #3
0
        function writeToFile(content, opts) {
            opts = opts || {};
            opts.filename = opts.filename || defaultFilename;

            if (wrStream && filename !== opts.filename) {
                wrStream.end();
                wrStream = null;
            }
            if (!wrStream) {
                var dir = path.dirname(opts.filename);
                if (opts.createMissingFolders && !fs.existsSync(dir)) {
                    fs.mkdirTree(dir);
                }
                wrStream = fs.createWriteStream(opts.filename);
                filename = opts.filename;
            }
            wrStream.write(content);
        }