diff options
author | Samy Pessé <samypesse@gmail.com> | 2015-01-19 16:59:42 +0100 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2015-01-19 16:59:42 +0100 |
commit | 70189a5ee2da4ae2237178e6e6630b3355857f56 (patch) | |
tree | 9db27fca3a180ad422412776c622c9232dc3b2c8 /lib/configuration.js | |
parent | ad233c0d8e242957288a9edb3a2f358e21a45a7d (diff) | |
download | gitbook-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.js | 7 |
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"); }); |