summaryrefslogtreecommitdiffstats
path: root/lib/output/website
diff options
context:
space:
mode:
authorSamy Pessé <samypesse@gmail.com>2016-04-25 14:44:49 +0200
committerSamy Pessé <samypesse@gmail.com>2016-04-25 14:44:49 +0200
commit4552ccd7d76a1bf958481e24a695dd3b68e6c232 (patch)
treed96ca1329846062007700b6a28d696f0f10f9e18 /lib/output/website
parent525bcd8295f72ffa09d485f86c7adea2187cde55 (diff)
downloadgitbook-4552ccd7d76a1bf958481e24a695dd3b68e6c232.zip
gitbook-4552ccd7d76a1bf958481e24a695dd3b68e6c232.tar.gz
gitbook-4552ccd7d76a1bf958481e24a695dd3b68e6c232.tar.bz2
Add loader for themes
Diffstat (limited to 'lib/output/website')
-rw-r--r--lib/output/website/createTemplateEngine.js7
-rw-r--r--lib/output/website/listSearchPaths.js23
-rw-r--r--lib/output/website/onAsset.js2
3 files changed, 30 insertions, 2 deletions
diff --git a/lib/output/website/createTemplateEngine.js b/lib/output/website/createTemplateEngine.js
index 9aed746..1a70667 100644
--- a/lib/output/website/createTemplateEngine.js
+++ b/lib/output/website/createTemplateEngine.js
@@ -1,4 +1,6 @@
+var Templating = require('../../templating');
var TemplateEngine = require('../../models/templateEngine');
+var listSearchPaths = require('./listSearchPaths');
/**
Create templating engine to render themes
@@ -7,8 +9,11 @@ var TemplateEngine = require('../../models/templateEngine');
@return {TemplateEngine}
*/
function createTemplateEngine(output) {
- return new TemplateEngine({
+ var searchPaths = listSearchPaths(output);
+ var loader = new Templating.ThemesLoader(searchPaths);
+ return new TemplateEngine({
+ loader: loader
});
}
diff --git a/lib/output/website/listSearchPaths.js b/lib/output/website/listSearchPaths.js
new file mode 100644
index 0000000..c45f39c
--- /dev/null
+++ b/lib/output/website/listSearchPaths.js
@@ -0,0 +1,23 @@
+
+/**
+ List search paths for templates / i18n, etc
+
+ @param {Output} output
+ @return {List<String>}
+*/
+function listSearchPaths(output) {
+ var book = output.getBook();
+ var plugins = output.getPlugins();
+
+ var searchPaths = plugins
+ .valueSeq()
+ .map(function(plugin) {
+ return plugin.getPath();
+ })
+ .toList();
+
+ return searchPaths.unshift(book.getContentRoot());
+}
+
+
+module.exports = listSearchPaths;
diff --git a/lib/output/website/onAsset.js b/lib/output/website/onAsset.js
index a2342ae..8659ca6 100644
--- a/lib/output/website/onAsset.js
+++ b/lib/output/website/onAsset.js
@@ -11,7 +11,7 @@ function onAsset(output, asset) {
var book = output.getBook();
var options = output.getOptions();
- var rootFolder = book.getRoot();
+ var rootFolder = book.getContentRoot();
var outputFolder = options.get('root');
var filePath = path.resolve(rootFolder, asset);