mirror of
https://github.com/GitbookIO/gitbook.git
synced 2026-09-25 03:42:30 +00:00
Complete api method template.applyBlock
This commit is contained in:
@@ -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));
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user