diff options
Diffstat (limited to 'lib/plugins/index.js')
-rw-r--r-- | lib/plugins/index.js | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/plugins/index.js b/lib/plugins/index.js index 00ee7d1..ed3aa0a 100644 --- a/lib/plugins/index.js +++ b/lib/plugins/index.js @@ -1,6 +1,8 @@ var _ = require('lodash'); +var path = require('path'); var Promise = require('../utils/promise'); +var fs = require('../utils/fs'); var BookPlugin = require('./plugin'); var registry = require('./registry'); @@ -109,4 +111,19 @@ PluginsManager.prototype.resources = function(namespace) { }; +// Copy all resources for a plugin +PluginsManager.prototype.copyResources = function(namespace, outputRoot) { + return Promise.serie(this.plugins, function(plugin) { + return plugin.getResources(namespace) + .then(function(resources) { + if (!resources.assets) return; + + var input = path.resolve(plugin.root, resources.assets); + var output = path.resolve(outputRoot, plugin.npmId); + + return fs.copyDir(input, output); + }); + }); +}; + module.exports = PluginsManager; |