summaryrefslogtreecommitdiffstats
path: root/lib/plugins/registry.js
blob: 6b1cddba47749f30cbb2fd93cc8b39be0f6f8368 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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
};