Complete api method template.applyBlock

This commit is contained in:
Samy Pessé
2016-05-02 09:14:01 +02:00
parent 9816b27ebf
commit 494ba78156
2 changed files with 10 additions and 5 deletions
+8 -3
View File
@@ -2,10 +2,12 @@ var Promise = require('../utils/promise');
var PathUtils = require('../utils/path');
var fs = require('../utils/fs');
var Plugins = require('../plugins');
var deprecate = require('./deprecate');
var encodeConfig = require('./encodeConfig');
var encodeNavigation = require('./encodeNavigation');
var fileToURL = require('../output/helper/fileToURL');
var defaultBlocks = require('../constants/defaultBlocks');
/**
Encode a global context into a JS object
@@ -19,6 +21,8 @@ function encodeGlobal(output) {
var bookFS = book.getContentFS();
var logger = output.getLogger();
var outputFolder = output.getRoot();
var plugins = output.getPlugins();
var blocks = Plugins.listBlocks(plugins);
var result = {
log: logger,
@@ -61,11 +65,12 @@ function encodeGlobal(output) {
Apply a templating block and returns its result
@param {String} name
@param {Object} block
@param {Object} blockData
@return {Promise|Object}
*/
applyBlock: function(name, block) {
// todo
applyBlock: function(name, blockData) {
var block = blocks.get(name) || defaultBlocks.get(name);
return Promise(block.applyBlock(blockData, result));
}
},
+2 -2
View File
@@ -187,7 +187,7 @@ TemplateBlock.prototype.toNunjucksExt = function(mainContext) {
})
.nodeify(callback);
};
};
}
return Ext;
};
@@ -209,7 +209,7 @@ TemplateBlock.prototype.applyBlock = function(inner, context) {
var r = processFn.call(context, inner);
if (Promise.isPromiseAlike(r)) {
return r.then(this.handleBlockResult);
return r.then(this.handleBlockResult.bind(this));
} else {
return this.handleBlockResult(r);
}