diff options
Diffstat (limited to 'lib/output/website.js')
-rw-r--r-- | lib/output/website.js | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/lib/output/website.js b/lib/output/website.js index 9c20670..43f732c 100644 --- a/lib/output/website.js +++ b/lib/output/website.js @@ -8,13 +8,10 @@ var Promise = require('../utils/promise'); var location = require('../utils/location'); var fs = require('../utils/fs'); var defaultFilters = require('../template/filters'); +var FSLoader = require('../template/fs-loader'); var conrefsLoader = require('./conrefs'); var Output = require('./base'); -// Tranform a theme ID into a plugin -function themeID(plugin) { - return 'theme-' + plugin; -} // Directory for a theme with the templates function templatesPath(dir) { @@ -58,7 +55,7 @@ WebsiteOutput.prototype.prepare = function() { .then(function() { // This list is ordered to give priority to templates in the book - var searchPaths = _.pluck(this.plugins.list(), 'root'); + var searchPaths = _.pluck(that.plugins.list(), 'root'); // The book itself can contains a "_layouts" folder searchPaths.unshift(that.book.root); @@ -71,7 +68,7 @@ WebsiteOutput.prototype.prepare = function() { that.i18n.load(i18nRoot); }); - that.env = new nunjucks.Environment(new nunjucks.FileSystemLoader(_.map(searchPaths, templatesPath))); + that.env = new nunjucks.Environment(new FSLoader(_.map(searchPaths, templatesPath))); // Add GitBook default filters _.each(defaultFilters, function(fn, filter) { @@ -212,13 +209,10 @@ WebsiteOutput.prototype.outputMultilingualIndex = function() { // Templates are stored in `_layouts` folders WebsiteOutput.prototype.render = function(tpl, context) { var filename = this.templateName(tpl); + context = _.extend(context, { template: { - // Same template but in the default theme - default: this.themeDefault? path.resolve(templatesPath(this.themeDefault.root), filename) : null, - - // Same template but in the theme - theme: path.resolve(templatesPath(this.theme.root), filename) + self: filename }, plugins: { |