summaryrefslogtreecommitdiffstats
path: root/lib/output/website/onInit.js
diff options
context:
space:
mode:
authorSamy Pesse <samypesse@gmail.com>2016-04-26 21:48:56 +0200
committerSamy Pesse <samypesse@gmail.com>2016-04-26 21:48:56 +0200
commit27d387e3e1d2389594670babad3afab6359c15fc (patch)
tree0f48a058bbbd4999ca7dd68839ed7ec764ca90ae /lib/output/website/onInit.js
parent7b7e4f60bc12e01d397487424635a9426990884c (diff)
downloadgitbook-27d387e3e1d2389594670babad3afab6359c15fc.zip
gitbook-27d387e3e1d2389594670babad3afab6359c15fc.tar.gz
gitbook-27d387e3e1d2389594670babad3afab6359c15fc.tar.bz2
Load i18n translations
Diffstat (limited to 'lib/output/website/onInit.js')
-rw-r--r--lib/output/website/onInit.js110
1 files changed, 8 insertions, 102 deletions
diff --git a/lib/output/website/onInit.js b/lib/output/website/onInit.js
index d348984..979a90d 100644
--- a/lib/output/website/onInit.js
+++ b/lib/output/website/onInit.js
@@ -1,112 +1,18 @@
-var path = require('path');
-
-var ASSET_FOLDER = require('../../constants/pluginAssetsFolder');
var Promise = require('../../utils/promise');
-var fs = require('../../utils/fs');
-
-/**
- Initialize the generator
-*/
-function onInit(output) {
- return Promise(output)
- .then(copyAllPluginAssets)
- .thenResolve(output);
-}
+var copyPluginAssets = require('./copyPluginAssets');
+var prepareI18n = require('./prepareI18n');
/**
- Copy all assets from plugins.
- Assets are files stored in "_assets"
- nd resources declared in the plugin itself.
+ Initialize the generator
@param {Output}
- @return {Promise}
+ @return {Output}
*/
-function copyAllPluginAssets(output) {
- var plugins = output.getPlugins();
-
- return Promise.forEach(plugins, function(plugin) {
- return copyAssets(output, plugin)
- .then(function() {
- return copyResources(output, plugin);
- });
- });
-}
-
-/**
- Copy assets from a plugin
-
- @param {Plugin}
- @return {Promise}
-*/
-function copyAssets(output, plugin) {
- var logger = output.getLogger();
- var pluginRoot = plugin.getPath();
- var options = output.getOptions();
-
- var outputRoot = options.get('root');
- var assetOutputFolder = path.join(outputRoot, 'gitbook');
- var prefix = options.get('prefix');
-
- var assetFolder = path.join(pluginRoot, ASSET_FOLDER, prefix);
-
- if (!fs.existsSync(assetFolder)) {
- return Promise();
- }
-
- logger.debug.ln('copy assets from theme', assetFolder);
- return fs.copyDir(
- assetFolder,
- assetOutputFolder,
- {
- deleteFirst: false,
- overwrite: true,
- confirm: true
- }
- );
-}
-
-/**
- Copy resources from a plugin
-
- @param {Plugin}
- @return {Promise}
-*/
-function copyResources(output, plugin) {
- var logger = output.getLogger();
-
- var options = output.getOptions();
- var prefix = options.get('prefix');
- var outputRoot = options.get('root');
-
- var pluginRoot = plugin.getPath();
- var resources = plugin.getResources(prefix);
-
- var assetsFolder = resources.get('assets');
- var assetOutputFolder = path.join(outputRoot, 'gitbook', plugin.getNpmID());
-
- if (!assetsFolder) {
- return Promise();
- }
-
- // Resolve assets folder
- assetsFolder = path.resolve(pluginRoot, assetsFolder);
- if (!fs.existsSync(assetsFolder)) {
- logger.warn.ln('assets folder for plugin "' + plugin.getName() + '" doesn\'t exist');
- return Promise();
- }
-
- logger.debug.ln('copy resources from plugin', assetsFolder);
-
- return fs.copyDir(
- assetsFolder,
- assetOutputFolder,
- {
- deleteFirst: false,
- overwrite: true,
- confirm: true
- }
- );
+function onInit(output) {
+ return Promise(output)
+ .then(prepareI18n)
+ .then(copyPluginAssets);
}
module.exports = onInit;