summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorSamy Pessé <samypesse@gmail.com>2014-04-30 11:15:01 +0200
committerSamy Pessé <samypesse@gmail.com>2014-04-30 11:15:01 +0200
commit076ee98f647046452366777012c69eb7851dbf55 (patch)
tree8a11ce2950dd992c7a529927a9387419d17890a2 /lib
parent2e472654ca29c64946e678af4b4ea34e33f9dff1 (diff)
downloadgitbook-076ee98f647046452366777012c69eb7851dbf55.zip
gitbook-076ee98f647046452366777012c69eb7851dbf55.tar.gz
gitbook-076ee98f647046452366777012c69eb7851dbf55.tar.bz2
Fix #186: Plugins that don't have assets should be skipped
Diffstat (limited to 'lib')
-rw-r--r--lib/generate/plugin.js7
-rw-r--r--lib/generate/site/index.js3
2 files changed, 8 insertions, 2 deletions
diff --git a/lib/generate/plugin.js b/lib/generate/plugin.js
index 6b30073..2b06c15 100644
--- a/lib/generate/plugin.js
+++ b/lib/generate/plugin.js
@@ -86,9 +86,14 @@ Plugin.prototype.callHook = function(name, context, data) {
});
};
+// Has assets
+Plugin.prototype.hasAssets = function(out) {
+ return (this.infos.book && this.infos.book.assets);
+};
+
// Copy plugin assets fodler
Plugin.prototype.copyAssets = function(out) {
- if (!this.infos.book || !this.infos.book.assets) return Q();
+ if (!this.hasAssets()) return Q();
return fs.copy(
this.resolveFile(this.infos.book.assets),
out
diff --git a/lib/generate/site/index.js b/lib/generate/site/index.js
index 4eee3ca..51f66f0 100644
--- a/lib/generate/site/index.js
+++ b/lib/generate/site/index.js
@@ -205,8 +205,9 @@ Generator.prototype.copyAssets = function() {
.then(function() {
return Q.all(
_.map(that.plugins.list, function(plugin) {
- var pluginAssets = path.join(that.options.output, "gitbook/plugins/", plugin.name);
+ if (!plugin.hasAssets()) return Q();
+ var pluginAssets = path.join(that.options.output, "gitbook/plugins/", plugin.name);
return plugin.copyAssets(pluginAssets)
.then(function() {
return that.manifest.addFolder(pluginAssets, "gitbook/plugins/"+plugin.name);