diff options
author | Samy Pesse <samypesse@gmail.com> | 2016-02-16 15:53:12 +0100 |
---|---|---|
committer | Samy Pesse <samypesse@gmail.com> | 2016-02-16 15:53:12 +0100 |
commit | 702db46f20d2b613540901311708cf4e49d95690 (patch) | |
tree | cbc8f3811fad341d534d1af4bfff6e8cc92bec6a /lib/plugins/registry.js | |
parent | 327d0bf5c52982a5a20967c8435aff9b60ed509d (diff) | |
download | gitbook-702db46f20d2b613540901311708cf4e49d95690.zip gitbook-702db46f20d2b613540901311708cf4e49d95690.tar.gz gitbook-702db46f20d2b613540901311708cf4e49d95690.tar.bz2 |
Add base for plugin linking/installation
Diffstat (limited to 'lib/plugins/registry.js')
-rw-r--r-- | lib/plugins/registry.js | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/lib/plugins/registry.js b/lib/plugins/registry.js new file mode 100644 index 0000000..6b1cddb --- /dev/null +++ b/lib/plugins/registry.js @@ -0,0 +1,38 @@ +var npm = require('npm'); + +var PLUGIN_PREFIX = 'gitbook-plugin-'; + +// Return an absolute name for the plugin (the one on NPM) +function npmId(name) { + if (name.indexOf(PLUGIN_PREFIX) === 0) return name; + return [PLUGIN_PREFIX, name].join(''); +} + +// Return a plugin ID 9the one on GitBook +function pluginId(name) { + return name.replace(PLUGIN_PREFIX, ''); +} + +// Validate an NPM plugin ID +function validateId(name) { + return name.indexOf(PLUGIN_PREFIX) === 0; +} + +// Link a plugin for use in a specific book +function linkPlugin(book, pluginPath) { + book.log('linking', pluginPath); +} + +// Install a plugin in a book +function installPlugin(book, pluginId) { + book.log('installing plugin', pluginId); +} + +module.exports = { + npmId: npmId, + pluginId: pluginId, + validateId: validateId, + + link: linkPlugin, + install: installPlugin +}; |