diff options
author | Samy Pesse <samypesse@gmail.com> | 2016-04-26 14:12:26 +0200 |
---|---|---|
committer | Samy Pesse <samypesse@gmail.com> | 2016-04-26 14:12:26 +0200 |
commit | be828cf004056d143c1e46c10ab29cc147fc14f8 (patch) | |
tree | 7f7c072eb286cda222ceb5d66f78d2838b16a71f /lib/output | |
parent | 1057bb15d3b7250dc541a126754750ec6b8a79a2 (diff) | |
download | gitbook-be828cf004056d143c1e46c10ab29cc147fc14f8.zip gitbook-be828cf004056d143c1e46c10ab29cc147fc14f8.tar.gz gitbook-be828cf004056d143c1e46c10ab29cc147fc14f8.tar.bz2 |
Add duration to final log for generation
Diffstat (limited to 'lib/output')
-rw-r--r-- | lib/output/callPageHook.js | 14 | ||||
-rw-r--r-- | lib/output/generateBook.js | 6 | ||||
-rw-r--r-- | lib/output/generatePage.js | 13 |
3 files changed, 25 insertions, 8 deletions
diff --git a/lib/output/callPageHook.js b/lib/output/callPageHook.js index ed80823..6f6bcbb 100644 --- a/lib/output/callPageHook.js +++ b/lib/output/callPageHook.js @@ -1,6 +1,8 @@ var Api = require('../api'); var callHook = require('./callHook'); +var Promise = require('../utils/promise'); + /** Call a hook for a specific page @@ -10,19 +12,21 @@ var callHook = require('./callHook'); @return {Promise<Page>} */ function callPageHook(name, output, page) { - return callHook( + return Promise(page); + + /*return callHook( name, function(out) { - return Api.encodePage(output, page); + return Api.encodePage(out, page); }, - function(result) { - return Api.decodePage(output, page, result); + function(out, result) { + return Api.decodePage(out, page, result); }, output - ); + );*/ } module.exports = callPageHook; diff --git a/lib/output/generateBook.js b/lib/output/generateBook.js index ca19067..1fe75fd 100644 --- a/lib/output/generateBook.js +++ b/lib/output/generateBook.js @@ -33,6 +33,7 @@ var generatePages = require('./generatePages'); */ function generateBook(generator, book, options) { options = generator.Options(options); + var start = Date.now(); return Promise( Output.createForBook(book, options) @@ -117,7 +118,10 @@ function generateBook(generator, book, options) { .then(function(output) { var logger = output.getLogger(); - logger.info.ok('generation finished with success!'); + var end = Date.now(); + var duration = (end - start)/1000; + + logger.info.ok('generation finished with success in ' + duration.toFixed(1) + 's !'); }); } diff --git a/lib/output/generatePage.js b/lib/output/generatePage.js index 113bf22..aa3b376 100644 --- a/lib/output/generatePage.js +++ b/lib/output/generatePage.js @@ -4,6 +4,7 @@ var error = require('../utils/error'); var Parse = require('../parse'); var Templating = require('../templating'); var createTemplateEngine = require('./createTemplateEngine'); +var callPageHook = require('./callPageHook'); /** Prepare and generate HTML for a page @@ -28,10 +29,13 @@ function generatePage(output, page) { })); } - return Promise(resultPage.getContent()) + // Call hook "page:before" + return callPageHook('page:before', output, resultPage) // Escape code blocks with raw tags - .then(parser.page.prepare) + .then(function(currentPage) { + return parser.page.prepare(currentPage.getContent()); + }) // Render templating syntax .then(function(content) { @@ -49,6 +53,11 @@ function generatePage(output, page) { // Return new page .then(function(content) { return resultPage.set('content', content); + }) + + // Call final hook + .then(function(currentPage) { + return callPageHook('page', output, currentPage); }); }); } |