diff options
author | Samy Pesse <samypesse@gmail.com> | 2016-10-12 11:56:31 +0200 |
---|---|---|
committer | Samy Pesse <samypesse@gmail.com> | 2016-10-12 11:56:31 +0200 |
commit | 5d4dc499a59b5297e1998cfc4413edc3e888a772 (patch) | |
tree | 4d267dbdc9201d64741054e9da24757bfb99a9cb | |
parent | 0e7aece96d462771679ad7a3bd64e54f748f2b35 (diff) | |
download | gitbook-5d4dc499a59b5297e1998cfc4413edc3e888a772.zip gitbook-5d4dc499a59b5297e1998cfc4413edc3e888a772.tar.gz gitbook-5d4dc499a59b5297e1998cfc4413edc3e888a772.tar.bz2 |
Remove references to plugin resources
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(); |