summaryrefslogtreecommitdiffstats
path: root/lib/output/website/onAsset.js
blob: 69dfc4f014e16427ffa408e157709b10e52d8e23 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
var path = require('path');
var fs = require('../../utils/fs');

/**
    Copy an asset to the output folder

    @param {Output} output
    @param {Page} page
*/
function onAsset(output, asset) {
    var book = output.getBook();
    var options = output.getOptions();
    var bookFS = book.getContentFS();

    var outputFolder = options.get('root');
    var outputPath = path.resolve(outputFolder, asset);

    return fs.ensureFile(outputPath)
    .then(function() {
        return bookFS.readAsStream(asset)
        .then(function(stream) {
            return fs.writeStream(outputPath, stream);
        });
    })
    .thenResolve(output);
}

module.exports = onAsset;