summaryrefslogtreecommitdiffstats
path: root/lib/book.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/book.js')
-rw-r--r--lib/book.js17
1 files changed, 15 insertions, 2 deletions
diff --git a/lib/book.js b/lib/book.js
index 72f0ec2..39d4719 100644
--- a/lib/book.js
+++ b/lib/book.js
@@ -178,6 +178,14 @@ Book.prototype.generate = function(generator) {
return generator.prepare();
})
+ // Transform configuration
+ .then(function() {
+ return that.callHook('config', that.config.dump())
+ .then(function(newConfig) {
+ that.config.replace(newConfig);
+ });
+ })
+
// Generate content
.then(function() {
if (that.isMultilingual()) {
@@ -238,13 +246,13 @@ Book.prototype.generate = function(generator) {
// Finish generation
.then(function() {
- return generator.callHook('finish:before');
+ return that.callHook('finish:before');
})
.then(function() {
return generator.finish();
})
.then(function() {
- return generator.callHook('finish');
+ return that.callHook('finish');
})
.then(function() {
that.log.info.ln('generation is finished');
@@ -793,4 +801,9 @@ Book.prototype.normError = function(err, opts, defs) {
return err;
};
+// Call a hook in plugins
+Book.prototype.callHook = function(name, data) {
+ return this.plugins.hook(name, data);
+};
+
module.exports= Book;