diff options
Diffstat (limited to 'lib/template')
-rw-r--r-- | lib/template/index.js | 2 | ||||
-rw-r--r-- | lib/template/loader.js | 10 |
2 files changed, 9 insertions, 3 deletions
diff --git a/lib/template/index.js b/lib/template/index.js index 6074f51..3f74267 100644 --- a/lib/template/index.js +++ b/lib/template/index.js @@ -27,7 +27,7 @@ function TemplateEngine(output) { this.log = this.book.log; // Create file loader - this.loader = new Loader(output); + this.loader = new Loader(this); // Create nunjucks instance this.env = new nunjucks.Environment( diff --git a/lib/template/loader.js b/lib/template/loader.js index 6b54015..23d179a 100644 --- a/lib/template/loader.js +++ b/lib/template/loader.js @@ -8,16 +8,22 @@ Simple nunjucks loader which is passing the reponsability to the Output var Loader = nunjucks.Loader.extend({ async: true, - init: function(output, opts) { - this.output = output; + init: function(engine, opts) { + this.engine = engine; + this.output = engine.output; }, getSource: function(sourceURL, callback) { + var that = this; + this.output.onGetTemplate(sourceURL) .then(function(out) { // We disable cache since content is modified (shortcuts, ...) out.noCache = true; + // Transform template before runnign it + out.source = that.engine.interpolate(out.path, out.source); + return out; }) .nodeify(callback); |