summaryrefslogtreecommitdiffstats
path: root/lib/api
diff options
context:
space:
mode:
authorSamy Pessé <samypesse@gmail.com>2016-05-02 09:14:01 +0200
committerSamy Pessé <samypesse@gmail.com>2016-05-02 09:14:01 +0200
commit494ba78156eb29a782ee00cfea11ea558a50618c (patch)
tree1f88d22d3e2f13b6c65c0420316f64018b901e0e /lib/api
parent9816b27ebfe0aa91f3f550d44626a2cd860a92de (diff)
downloadgitbook-494ba78156eb29a782ee00cfea11ea558a50618c.zip
gitbook-494ba78156eb29a782ee00cfea11ea558a50618c.tar.gz
gitbook-494ba78156eb29a782ee00cfea11ea558a50618c.tar.bz2
Complete api method template.applyBlock
Diffstat (limited to 'lib/api')
-rw-r--r--lib/api/encodeGlobal.js11
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/api/encodeGlobal.js b/lib/api/encodeGlobal.js
index 6c3fda3..e8f7156 100644
--- a/lib/api/encodeGlobal.js
+++ b/lib/api/encodeGlobal.js
@@ -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));
}
},