Fix disabling a default plugin

This commit is contained in:
Samy Pessé
2015-09-19 00:31:32 +02:00
parent f5afbc90a4
commit ac77200683
+10 -8
View File
@@ -10,7 +10,7 @@ var i18n = require("./utils/i18n");
var defaultsPlugins = ["highlight"];
// Normalize a list of plugins to use
function normalizePluginsList(plugins) {
function normalizePluginsList(plugins, addDefaults) {
// Normalize list to an array
plugins = _.isString(plugins) ? plugins.split(",") : (plugins || []);
@@ -39,12 +39,14 @@ function normalizePluginsList(plugins) {
.value();
// Merge with defaults
plugins = _.chain(plugins)
.concat(_.map(defaultsPlugins, function(plugin) {
return { "name": plugin };
}))
.uniq()
.value();
if (addDefaults !== false) {
plugins = _.chain(plugins)
.concat(_.map(defaultsPlugins, function(plugin) {
return { "name": plugin };
}))
.uniq()
.value();
}
// Build final list
plugins = _.filter(plugins, function(plugin) {
@@ -121,7 +123,7 @@ Configuration.prototype.load = function() {
that.options.output = path.resolve(that.options.output || that.book.resolve("_book"));
that.options.plugins = normalizePluginsList(that.options.plugins);
that.options.defaultsPlugins = normalizePluginsList(that.options.defaultsPlugins || "");
that.options.defaultsPlugins = normalizePluginsList(that.options.defaultsPlugins || "", false);
that.options.plugins = _.union(that.options.plugins, that.options.defaultsPlugins);
that.options.plugins = _.uniq(that.options.plugins, "name");