summaryrefslogtreecommitdiffstats
path: root/lib/template
diff options
context:
space:
mode:
Diffstat (limited to 'lib/template')
-rw-r--r--lib/template/blocks.js7
-rw-r--r--lib/template/index.js5
2 files changed, 10 insertions, 2 deletions
diff --git a/lib/template/blocks.js b/lib/template/blocks.js
index 0e04643..a079cde 100644
--- a/lib/template/blocks.js
+++ b/lib/template/blocks.js
@@ -7,5 +7,10 @@ module.exports = {
// Highlight a code block
// This block can be replaced by plugins
- code: _.identity
+ code: function(blk) {
+ return {
+ html: false,
+ body: blk.body
+ };
+ }
};
diff --git a/lib/template/index.js b/lib/template/index.js
index 8a52392..fc7603d 100644
--- a/lib/template/index.js
+++ b/lib/template/index.js
@@ -146,12 +146,15 @@ TemplateEngine.prototype.addBlock = function(name, block) {
block = _.defaults(block || {}, {
shortcuts: [],
end: 'end'+name,
- process: _.identity,
blocks: []
});
extName = blockExtName(name);
+ if (!block.process) {
+ throw new Error('Invalid block "' + name + '", it should have a "process" method');
+ }
+
if (this.hasBlock(name) && !defaultBlocks[name]) {
this.log.warn.ln('conflict in blocks, "'+name+'" is already defined');
}