summaryrefslogtreecommitdiffstats
path: root/lib/configuration.js
diff options
context:
space:
mode:
authorSamy Pessé <samypesse@gmail.com>2015-01-19 16:59:42 +0100
committerSamy Pessé <samypesse@gmail.com>2015-01-19 16:59:42 +0100
commit70189a5ee2da4ae2237178e6e6630b3355857f56 (patch)
tree9db27fca3a180ad422412776c622c9232dc3b2c8 /lib/configuration.js
parentad233c0d8e242957288a9edb3a2f358e21a45a7d (diff)
downloadgitbook-70189a5ee2da4ae2237178e6e6630b3355857f56.zip
gitbook-70189a5ee2da4ae2237178e6e6630b3355857f56.tar.gz
gitbook-70189a5ee2da4ae2237178e6e6630b3355857f56.tar.bz2
Fix parsing of plugins list
Diffstat (limited to 'lib/configuration.js')
-rw-r--r--lib/configuration.js7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/configuration.js b/lib/configuration.js
index 8a01140..69e21db 100644
--- a/lib/configuration.js
+++ b/lib/configuration.js
@@ -13,8 +13,13 @@ function normalizePluginsList(plugins) {
// Normalize list to an array
plugins = _.isString(plugins) ? plugins.split(",") : (plugins || []);
+ // Remove empty parts
+ plugins = _.compact(plugins);
+
// Divide as {name, version} to handle format like "myplugin@1.0.0"
plugins = _.map(plugins, function(plugin) {
+ if (plugin.name) return plugin;
+
var parts = plugin.split("@");
return {
'name': parts[0],
@@ -80,7 +85,7 @@ Configuration.prototype.load = function() {
.then(function() {
that.options.output = that.options.output || path.join(that.book.root, "_book");
that.options.plugins = normalizePluginsList(that.options.plugins);
- that.options.defaultsPlugins = normalizePluginsList(that.options.defaultsPlugins);
+ that.options.defaultsPlugins = normalizePluginsList(that.options.defaultsPlugins || "");
that.options.plugins = _.union(that.options.plugins, that.options.defaultsPlugins);
that.options.plugins = _.uniq(that.options.plugins, "name");
});