diff options
Diffstat (limited to 'lib/output/website.js')
-rw-r--r-- | lib/output/website.js | 47 |
1 files changed, 8 insertions, 39 deletions
diff --git a/lib/output/website.js b/lib/output/website.js index e298b69..9c20670 100644 --- a/lib/output/website.js +++ b/lib/output/website.js @@ -57,32 +57,11 @@ WebsiteOutput.prototype.prepare = function() { }) .then(function() { - var themeName = that.book.config.get('theme'); - that.theme = that.plugins.get(themeID(themeName)); - that.themeDefault = that.plugins.get(themeID('default')); - - if (!that.theme) { - throw new Error('Theme "' + themeName + '" is not installed, add "' + themeID(themeName) + '" to your "book.json"'); - } - - if (that.themeDefault.root != that.theme.root) { - that.log.info.ln('build using theme "' + themeName + '"'); - } - // This list is ordered to give priority to templates in the book - var searchPaths = _.chain([ - // The book itself can contains a "_layouts" folder - that.book.root, - - // Installed plugin (it can be identical to themeDefault.root) - that.theme.root, + var searchPaths = _.pluck(this.plugins.list(), 'root'); - // Is default theme still installed - that.themeDefault? that.themeDefault.root : null - ]) - .compact() - .uniq() - .value(); + // The book itself can contains a "_layouts" folder + searchPaths.unshift(that.book.root); // Load i18n _.each(searchPaths.concat().reverse(), function(searchPath) { @@ -142,21 +121,11 @@ WebsiteOutput.prototype.prepare = function() { .then(function() { if (that.book.isLanguageBook()) return; - return Promise.serie([ - // Assets from the book are already copied - // The order is reversed from the template's one - - // Is default theme still installed - that.themeDefault && that.themeDefault.root != that.theme.root? - that.themeDefault.root : null, - - // Installed plugin (it can be identical to themeDefault.root) - that.theme.root - ], function(folder) { - if (!folder) return; - + // Assets from the book are already copied + // Copy assets from plugins + return Promise.serie(that.plugins.list(), function(plugin) { // Copy assets only if exists (don't fail otherwise) - var assetFolder = path.join(folder, '_assets', that.name); + var assetFolder = path.join(plugin.root, '_assets', that.name); if (!fs.existsSync(assetFolder)) return; that.log.debug.ln('copy assets from theme', assetFolder); @@ -164,7 +133,7 @@ WebsiteOutput.prototype.prepare = function() { assetFolder, that.resolve('gitbook'), { - deleteFirst: false, // Delete "to" before + deleteFirst: false, overwrite: true, confirm: true } |