mirror of
https://github.com/GitbookIO/gitbook.git
synced 2026-09-16 15:45:13 +00:00
37 lines
816 B
JavaScript
37 lines
816 B
JavaScript
var Plugins = require('../plugins');
|
|
var Promise = require('../utils/promise');
|
|
|
|
/**
|
|
* Load and setup plugins
|
|
*
|
|
* @param {Output}
|
|
* @return {Promise<Output>}
|
|
*/
|
|
function preparePlugins(output) {
|
|
var book = output.getBook();
|
|
|
|
return Promise()
|
|
|
|
// Only load plugins for main book
|
|
.then(function() {
|
|
if (book.isLanguageBook()) {
|
|
return output.getPlugins();
|
|
} else {
|
|
return Plugins.loadForBook(book);
|
|
}
|
|
})
|
|
|
|
// Update book's configuration using the plugins
|
|
.then(function(plugins) {
|
|
return Plugins.validateConfig(book, plugins)
|
|
.then(function(newBook) {
|
|
return output.merge({
|
|
book: newBook,
|
|
plugins: plugins
|
|
});
|
|
});
|
|
});
|
|
}
|
|
|
|
module.exports = preparePlugins;
|