summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamy Pesse <samypesse@gmail.com>2016-10-12 11:56:31 +0200
committerSamy Pesse <samypesse@gmail.com>2016-10-12 11:56:31 +0200
commit5d4dc499a59b5297e1998cfc4413edc3e888a772 (patch)
tree4d267dbdc9201d64741054e9da24757bfb99a9cb
parent0e7aece96d462771679ad7a3bd64e54f748f2b35 (diff)
downloadgitbook-5d4dc499a59b5297e1998cfc4413edc3e888a772.zip
gitbook-5d4dc499a59b5297e1998cfc4413edc3e888a772.tar.gz
gitbook-5d4dc499a59b5297e1998cfc4413edc3e888a772.tar.bz2
Remove references to plugin resources
-rw-r--r--packages/gitbook/src/models/output.js2
-rw-r--r--packages/gitbook/src/models/plugin.js36
-rw-r--r--packages/gitbook/src/output/__tests__/website.js5
-rw-r--r--packages/gitbook/src/output/createTemplateEngine.js4
-rw-r--r--packages/gitbook/src/output/prepareAssets.js10
-rw-r--r--packages/gitbook/src/output/website/copyPluginAssets.js10
-rw-r--r--packages/gitbook/src/output/website/onAsset.js2
-rw-r--r--packages/gitbook/src/output/website/onFinish.js2
-rw-r--r--packages/gitbook/src/output/website/options.js6
-rw-r--r--packages/gitbook/src/parse/listAssets.js14
-rw-r--r--packages/gitbook/src/plugins/findForBook.js1
-rw-r--r--packages/gitbook/src/plugins/index.js12
-rw-r--r--packages/gitbook/src/plugins/installPlugin.js12
-rw-r--r--packages/gitbook/src/plugins/installPlugins.js10
-rw-r--r--packages/gitbook/src/plugins/listBlocks.js23
-rw-r--r--packages/gitbook/src/plugins/listDepsForBook.js4
-rw-r--r--packages/gitbook/src/plugins/listFilters.js21
-rw-r--r--packages/gitbook/src/plugins/listResources.js45
-rw-r--r--packages/gitbook/src/plugins/toNames.js2
-rw-r--r--packages/gitbook/src/plugins/validateConfig.js26
-rw-r--r--packages/gitbook/src/plugins/validatePlugin.js10
21 files changed, 94 insertions, 163 deletions
diff --git a/packages/gitbook/src/models/output.js b/packages/gitbook/src/models/output.js
index fe4aa75..a63be17 100644
--- a/packages/gitbook/src/models/output.js
+++ b/packages/gitbook/src/models/output.js
@@ -13,7 +13,7 @@ const DEFAULTS = {
plugins: OrderedMap(),
// Map pages to generation (String -> Page)
pages: OrderedMap(),
- // List assets (String)
+ // List of file that are not pages in the book (String)
assets: List(),
// Option for the generation
options: Map(),
diff --git a/packages/gitbook/src/models/plugin.js b/packages/gitbook/src/models/plugin.js
index 52a4b0f..f2491f2 100644
--- a/packages/gitbook/src/models/plugin.js
+++ b/packages/gitbook/src/models/plugin.js
@@ -7,25 +7,19 @@ const THEME_PREFIX = require('../constants/themePrefix');
const DEFAULT_VERSION = '*';
const DEFAULTS = {
- name: String(),
-
+ name: String(),
// Requirement version (ex: ">1.0.0")
- version: String(DEFAULT_VERSION),
-
+ version: String(DEFAULT_VERSION),
// Path to load this plugin
- path: String(),
-
+ path: String(),
// Depth of this plugin in the dependency tree
- depth: Number(0),
-
+ depth: Number(0),
// Parent depending on this plugin
- parent: String(),
-
+ parent: String(),
// Content of the "package.json"
- package: Map(),
-
+ package: Map(),
// Content of the package itself
- content: Map()
+ content: Map()
};
class Plugin extends Record(DEFAULTS) {
@@ -91,22 +85,6 @@ class Plugin extends Record(DEFAULTS) {
}
/**
- * Return infos about resources for a specific type
- * @param {String} type
- * @return {Map<String:Mixed>}
- */
- getResources(type) {
- if (type != 'website' && type != 'ebook') {
- throw new Error('Invalid assets type ' + type);
- }
-
- const content = this.getContent();
- return (content.get(type)
- || (type == 'website' ? content.get('book') : null)
- || Map());
- }
-
- /**
* Return map of filters
* @return {Map<String:Function>}
*/
diff --git a/packages/gitbook/src/output/__tests__/website.js b/packages/gitbook/src/output/__tests__/website.js
index d39842f..3f37943 100644
--- a/packages/gitbook/src/output/__tests__/website.js
+++ b/packages/gitbook/src/output/__tests__/website.js
@@ -134,11 +134,10 @@ describe('WebsiteGenerator', function() {
expect(folder).toNotHaveFile('fr/README.md');
// Should copy assets only once
- expect(folder).toHaveFile('gitbook/style.css');
- expect(folder).toNotHaveFile('en/gitbook/style.css');
+ expect(folder).toHaveFile('gitbook/core.js');
+ expect(folder).toNotHaveFile('en/gitbook/core.js');
expect(folder).toHaveFile('index.html');
});
});
});
-
diff --git a/packages/gitbook/src/output/createTemplateEngine.js b/packages/gitbook/src/output/createTemplateEngine.js
index 537038b..f405f36 100644
--- a/packages/gitbook/src/output/createTemplateEngine.js
+++ b/packages/gitbook/src/output/createTemplateEngine.js
@@ -9,7 +9,9 @@ const defaultFilters = require('../constants/defaultFilters');
/**
* Create template engine for an output.
- * It adds default filters/blocks, then add the ones from plugins
+ * It adds default filters/blocks, then add the ones from plugins.
+ *
+ * This template engine is used to compile pages.
*
* @param {Output} output
* @return {TemplateEngine}
diff --git a/packages/gitbook/src/output/prepareAssets.js b/packages/gitbook/src/output/prepareAssets.js
index 6694a74..2851b01 100644
--- a/packages/gitbook/src/output/prepareAssets.js
+++ b/packages/gitbook/src/output/prepareAssets.js
@@ -1,11 +1,11 @@
const Parse = require('../parse');
/**
- List all assets in the book
-
- @param {Output}
- @return {Promise<Output>}
-*/
+ * List all assets in the book.
+ *
+ * @param {Output} output
+ * @return {Promise<Output>} output
+ */
function prepareAssets(output) {
const book = output.getBook();
const pages = output.getPages();
diff --git a/packages/gitbook/src/output/website/copyPluginAssets.js b/packages/gitbook/src/output/website/copyPluginAssets.js
index 41c377a..fe75377 100644
--- a/packages/gitbook/src/output/website/copyPluginAssets.js
+++ b/packages/gitbook/src/output/website/copyPluginAssets.js
@@ -20,13 +20,9 @@ function copyPluginAssets(output) {
return Promise(output);
}
- const plugins = output.getPlugins()
+ const plugins = output.getPlugins();
- // We reverse the order of plugins to copy
- // so that first plugins can replace assets from other plugins.
- .reverse();
-
- return Promise.forEach(plugins, function(plugin) {
+ return Promise.forEach(plugins, (plugin) => {
return copyAssets(output, plugin)
.then(() => copyBrowserJS(output, plugin));
})
@@ -55,7 +51,7 @@ function copyAssets(output, plugin) {
return Promise();
}
- logger.debug.ln('copy assets from theme', assetFolder);
+ logger.debug.ln('copy assets from plugin', assetFolder);
return fs.copyDir(
assetFolder,
assetOutputFolder,
diff --git a/packages/gitbook/src/output/website/onAsset.js b/packages/gitbook/src/output/website/onAsset.js
index 833a592..b72c47d 100644
--- a/packages/gitbook/src/output/website/onAsset.js
+++ b/packages/gitbook/src/output/website/onAsset.js
@@ -2,7 +2,7 @@ const path = require('path');
const fs = require('../../utils/fs');
/**
- * Copy an asset to the output folder
+ * Copy an asset from the book to the output folder.
*
* @param {Output} output
* @param {Page} page
diff --git a/packages/gitbook/src/output/website/onFinish.js b/packages/gitbook/src/output/website/onFinish.js
index 72b36c8..3426c3f 100644
--- a/packages/gitbook/src/output/website/onFinish.js
+++ b/packages/gitbook/src/output/website/onFinish.js
@@ -1,7 +1,7 @@
const Promise = require('../../utils/promise');
/**
- * Finish the generation, write the languages index
+ * Finish the generation, write the languages index.
*
* @param {Output}
* @return {Output}
diff --git a/packages/gitbook/src/output/website/options.js b/packages/gitbook/src/output/website/options.js
index 5de184d..3bcbd9a 100644
--- a/packages/gitbook/src/output/website/options.js
+++ b/packages/gitbook/src/output/website/options.js
@@ -2,11 +2,9 @@ const Immutable = require('immutable');
const Options = Immutable.Record({
// Root folder for the output
- root: String(),
+ root: String(),
// Prefix for generation
- prefix: String('website'),
- // Use directory index url instead of "index.html"
- directoryIndex: Boolean(true)
+ prefix: String('website')
});
module.exports = Options;
diff --git a/packages/gitbook/src/parse/listAssets.js b/packages/gitbook/src/parse/listAssets.js
index 07cf2e1..91699df 100644
--- a/packages/gitbook/src/parse/listAssets.js
+++ b/packages/gitbook/src/parse/listAssets.js
@@ -1,13 +1,13 @@
const timing = require('../utils/timing');
/**
- List all assets in a book
- Assets are file not ignored and not a page
-
- @param {Book} book
- @param {List<String>} pages
- @param
-*/
+ * List all assets in a book
+ * Assets are file not ignored and not a page
+ *
+ * @param {Book} book
+ * @param {List<String>} pages
+ * @return {Promise<List<String>>} assets
+ */
function listAssets(book, pages) {
const fs = book.getContentFS();
diff --git a/packages/gitbook/src/plugins/findForBook.js b/packages/gitbook/src/plugins/findForBook.js
index c652228..8668d1d 100644
--- a/packages/gitbook/src/plugins/findForBook.js
+++ b/packages/gitbook/src/plugins/findForBook.js
@@ -30,5 +30,4 @@ function findForBook(book) {
);
}
-
module.exports = findForBook;
diff --git a/packages/gitbook/src/plugins/index.js b/packages/gitbook/src/plugins/index.js
index 607a7f1..bdc3b05 100644
--- a/packages/gitbook/src/plugins/index.js
+++ b/packages/gitbook/src/plugins/index.js
@@ -1,10 +1,8 @@
module.exports = {
- loadForBook: require('./loadForBook'),
- validateConfig: require('./validateConfig'),
- installPlugins: require('./installPlugins'),
- listResources: require('./listResources'),
- listBlocks: require('./listBlocks'),
- listFilters: require('./listFilters')
+ loadForBook: require('./loadForBook'),
+ validateConfig: require('./validateConfig'),
+ installPlugins: require('./installPlugins'),
+ listBlocks: require('./listBlocks'),
+ listFilters: require('./listFilters')
};
-
diff --git a/packages/gitbook/src/plugins/installPlugin.js b/packages/gitbook/src/plugins/installPlugin.js
index edf4dc5..c1f1f22 100644
--- a/packages/gitbook/src/plugins/installPlugin.js
+++ b/packages/gitbook/src/plugins/installPlugin.js
@@ -4,12 +4,12 @@ const Promise = require('../utils/promise');
const resolveVersion = require('./resolveVersion');
/**
- Install a plugin for a book
-
- @param {Book}
- @param {PluginDependency}
- @return {Promise}
-*/
+ * Install a plugin for a book
+ *
+ * @param {Book} book
+ * @param {PluginDependency} plugin
+ * @return {Promise}
+ */
function installPlugin(book, plugin) {
const logger = book.getLogger();
diff --git a/packages/gitbook/src/plugins/installPlugins.js b/packages/gitbook/src/plugins/installPlugins.js
index 8c36c92..8fb70ff 100644
--- a/packages/gitbook/src/plugins/installPlugins.js
+++ b/packages/gitbook/src/plugins/installPlugins.js
@@ -5,11 +5,11 @@ const Promise = require('../utils/promise');
const installPlugin = require('./installPlugin');
/**
- Install plugin requirements for a book
-
- @param {Book}
- @return {Promise<Number>}
-*/
+ * Install plugin requirements for a book
+ *
+ * @param {Book} book
+ * @return {Promise<Number>} count
+ */
function installPlugins(book) {
const logger = book.getLogger();
const config = book.getConfig();
diff --git a/packages/gitbook/src/plugins/listBlocks.js b/packages/gitbook/src/plugins/listBlocks.js
index 991b386..a2b04f5 100644
--- a/packages/gitbook/src/plugins/listBlocks.js
+++ b/packages/gitbook/src/plugins/listBlocks.js
@@ -1,18 +1,21 @@
-const Immutable = require('immutable');
+const { Map } = require('immutable');
/**
- List blocks from a list of plugins
-
- @param {OrderedMap<String:Plugin>}
- @return {Map<String:TemplateBlock>}
-*/
+ * List blocks from a list of plugins
+ *
+ * @param {OrderedMap<String:Plugin>}
+ * @return {Map<String:TemplateBlock>}
+ */
function listBlocks(plugins) {
return plugins
.reverse()
- .reduce(function(result, plugin) {
- const blocks = plugin.getBlocks();
- return result.merge(blocks);
- }, Immutable.Map());
+ .reduce(
+ (result, plugin) => {
+ const blocks = plugin.getBlocks();
+ return result.merge(blocks);
+ },
+ Map()
+ );
}
module.exports = listBlocks;
diff --git a/packages/gitbook/src/plugins/listDepsForBook.js b/packages/gitbook/src/plugins/listDepsForBook.js
index b173572..81f619d 100644
--- a/packages/gitbook/src/plugins/listDepsForBook.js
+++ b/packages/gitbook/src/plugins/listDepsForBook.js
@@ -5,8 +5,8 @@ const listDependencies = require('./listDependencies');
* It can be different from the final list of plugins,
* since plugins can have their own dependencies
*
- * @param {Book}
- * @return {List<PluginDependency>}
+ * @param {Book} book
+ * @return {List<PluginDependency>} dependencies
*/
function listDepsForBook(book) {
const config = book.getConfig();
diff --git a/packages/gitbook/src/plugins/listFilters.js b/packages/gitbook/src/plugins/listFilters.js
index edf6c0d..57d5c29 100644
--- a/packages/gitbook/src/plugins/listFilters.js
+++ b/packages/gitbook/src/plugins/listFilters.js
@@ -1,17 +1,20 @@
-const Immutable = require('immutable');
+const { Map } = require('immutable');
/**
- List filters from a list of plugins
-
- @param {OrderedMap<String:Plugin>}
- @return {Map<String:Function>}
-*/
+ * List filters from a list of plugins
+ *
+ * @param {OrderedMap<String:Plugin>} plugins
+ * @return {Map<String:Function>} filters
+ */
function listFilters(plugins) {
return plugins
.reverse()
- .reduce(function(result, plugin) {
- return result.merge(plugin.getFilters());
- }, Immutable.Map());
+ .reduce(
+ (result, plugin) => {
+ return result.merge(plugin.getFilters());
+ },
+ Map()
+ );
}
module.exports = listFilters;
diff --git a/packages/gitbook/src/plugins/listResources.js b/packages/gitbook/src/plugins/listResources.js
deleted file mode 100644
index df50097..0000000
--- a/packages/gitbook/src/plugins/listResources.js
+++ /dev/null
@@ -1,45 +0,0 @@
-const Immutable = require('immutable');
-const path = require('path');
-
-const LocationUtils = require('../utils/location');
-const PLUGIN_RESOURCES = require('../constants/pluginResources');
-
-/**
- List all resources from a list of plugins
-
- @param {OrderedMap<String:Plugin>}
- @param {String} type
- @return {Map<String:List<{url, path}>}
-*/
-function listResources(plugins, resources) {
- return plugins.reduce(function(result, plugin) {
- const npmId = plugin.getNpmID();
- const pluginResources = resources.get(plugin.getName());
-
- PLUGIN_RESOURCES.forEach(function(resourceType) {
- let assets = pluginResources.get(resourceType);
- if (!assets) return;
-
- let list = result.get(resourceType) || Immutable.List();
-
- assets = assets.map(function(assetFile) {
- if (LocationUtils.isExternal(assetFile)) {
- return {
- url: assetFile
- };
- } else {
- return {
- path: LocationUtils.normalize(path.join(npmId, assetFile))
- };
- }
- });
-
- list = list.concat(assets);
- result = result.set(resourceType, list);
- });
-
- return result;
- }, Immutable.Map());
-}
-
-module.exports = listResources;
diff --git a/packages/gitbook/src/plugins/toNames.js b/packages/gitbook/src/plugins/toNames.js
index ad0dd8f..422a24d 100644
--- a/packages/gitbook/src/plugins/toNames.js
+++ b/packages/gitbook/src/plugins/toNames.js
@@ -1,6 +1,6 @@
/**
- * Return list of plugin names. This method is nly used in unit tests.
+ * Return list of plugin names. This method is only used in unit tests.
*
* @param {OrderedMap<String:Plugin} plugins
* @return {Array<String>}
diff --git a/packages/gitbook/src/plugins/validateConfig.js b/packages/gitbook/src/plugins/validateConfig.js
index 8e24775..82a2507 100644
--- a/packages/gitbook/src/plugins/validateConfig.js
+++ b/packages/gitbook/src/plugins/validateConfig.js
@@ -7,12 +7,12 @@ const error = require('../utils/error');
const mergeDefaults = require('../utils/mergeDefaults');
/**
- Validate one plugin for a book and update book's confiration
-
- @param {Book}
- @param {Plugin}
- @return {Book}
-*/
+ * Validate one plugin for a book and update book's confiration
+ *
+ * @param {Book}
+ * @param {Plugin}
+ * @return {Book}
+ */
function validatePluginConfig(book, plugin) {
let config = book.getConfig();
const packageInfos = plugin.getPackage();
@@ -55,13 +55,13 @@ function validatePluginConfig(book, plugin) {
}
/**
- Validate a book configuration for plugins and
- returns an update configuration with default values.
-
- @param {Book}
- @param {OrderedMap<String:Plugin>}
- @return {Promise<Book>}
-*/
+ * Validate a book configuration for plugins and
+ * returns an update configuration with default values.
+ *
+ * @param {Book}
+ * @param {OrderedMap<String:Plugin>}
+ * @return {Promise<Book>}
+ */
function validateConfig(book, plugins) {
return Promise.reduce(plugins, function(newBook, plugin) {
return validatePluginConfig(newBook, plugin);
diff --git a/packages/gitbook/src/plugins/validatePlugin.js b/packages/gitbook/src/plugins/validatePlugin.js
index f0e96ba..cc9ac7b 100644
--- a/packages/gitbook/src/plugins/validatePlugin.js
+++ b/packages/gitbook/src/plugins/validatePlugin.js
@@ -3,11 +3,11 @@ const gitbook = require('../gitbook');
const Promise = require('../utils/promise');
/**
- Validate a plugin
-
- @param {Plugin}
- @return {Promise<Plugin>}
-*/
+ * Validate a plugin
+ *
+ * @param {Plugin}
+ * @return {Promise<Plugin>}
+ */
function validatePlugin(plugin) {
const packageInfos = plugin.getPackage();