diff options
author | Samy Pessé <samypesse@gmail.com> | 2014-09-17 15:02:22 +0200 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2014-09-17 15:02:22 +0200 |
commit | d69cc746472684195f5b628d0ee4dc79e10f59e1 (patch) | |
tree | c668eba1bc444a9d1e0f6a461a0759d234a1eb35 /lib/generate/plugin.js | |
parent | be0a4f08e9a45efc4766632a787adbb187e931af (diff) | |
parent | f83874a9ca5877c9b5417e1603df9c9d3ffe19f2 (diff) | |
download | gitbook-d69cc746472684195f5b628d0ee4dc79e10f59e1.zip gitbook-d69cc746472684195f5b628d0ee4dc79e10f59e1.tar.gz gitbook-d69cc746472684195f5b628d0ee4dc79e10f59e1.tar.bz2 |
Merge pull request #440 from GitbookIO/feature/ebookplugins
Apply plugins to ebook generation
Diffstat (limited to 'lib/generate/plugin.js')
-rw-r--r-- | lib/generate/plugin.js | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/lib/generate/plugin.js b/lib/generate/plugin.js index ca34923..e699a26 100644 --- a/lib/generate/plugin.js +++ b/lib/generate/plugin.js @@ -65,8 +65,9 @@ Plugin.prototype.normalizeResource = function(resource) { }; // Return resources -Plugin.prototype._getResources = function() { - var book = this.infos.book; +Plugin.prototype._getResources = function(base) { + base = base || "book"; + var book = this.infos[base]; // Nothing specified, fallback to default if (!book) { @@ -84,12 +85,10 @@ Plugin.prototype._getResources = function() { }; // Normalize resources and return them -Plugin.prototype.getResources = function() { +Plugin.prototype.getResources = function(base) { var that = this; - - - return this._getResources() + return this._getResources(base) .then(function(resources) { _.each(RESOURCES, function(resourceType) { @@ -133,10 +132,14 @@ Plugin.prototype.callHook = function(name, data) { }; // Copy plugin assets fodler -Plugin.prototype.copyAssets = function(out) { +Plugin.prototype.copyAssets = function(out, options) { var that = this; + options = _.defaults(options || {}, { + base: "book" + }); - return this.getResources().get('assets') + return this.getResources(options.base) + .get('assets') .then(function(assets) { // Assets are undefined if(!assets) return false; @@ -149,8 +152,6 @@ Plugin.prototype.copyAssets = function(out) { }; - - // Normalize a list of plugin name to use Plugin.normalizeNames = function(names) { // Normalize list to an array @@ -181,7 +182,11 @@ Plugin.normalizeNames = function(names) { }; // Extract data from a list of plugin -Plugin.fromList = function(names, root, generator) { +Plugin.fromList = function(names, root, generator, options) { + options = _.defaults(options || {}, { + assetsBase: "book" + }); + var failed = []; // Load plugins @@ -198,7 +203,7 @@ Plugin.fromList = function(names, root, generator) { // Get resources of plugins return Q.all(_.map(plugins, function(plugin) { - return plugin.getResources(); + return plugin.getResources(options.assetsBase); })) // Extract resources out // css, js, etc ... |