summaryrefslogtreecommitdiffstats
path: root/lib/plugins/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/plugins/index.js')
-rw-r--r--lib/plugins/index.js17
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;