diff options
Diffstat (limited to 'lib/output/writer/writePage.js')
-rw-r--r-- | lib/output/writer/writePage.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/lib/output/writer/writePage.js b/lib/output/writer/writePage.js new file mode 100644 index 0000000..23e37d0 --- /dev/null +++ b/lib/output/writer/writePage.js @@ -0,0 +1,33 @@ +var path = require('path'); +var Immutable = require('immutable'); + +var fs = require('../../utils/fs'); +var PathUtils = require('../../utils/path'); + +var WriteOptions = Immutable.Record({ + extension: '.html' +}); + +/** + Write a file to the output folder + + @param {Output} output + @param {Page} page + @param {Buffer|String} content + @return {Promise} +*/ +function writePage(output, page, content, options) { + var file = page.getFile(); + var outputOpts = output.getOptions(); + var rootFolder = outputOpts.get('root'); + + options = WriteOptions(options); + + // Get filename for file to write + var fileName = PathUtils.setExtension(file.getPath(), options.get('extension')); + var filePath = path.join(rootFolder, fileName); + + return fs.writeFile(filePath, content); +} + +module.exports = writePage; |