mirror of
https://github.com/GitbookIO/gitbook.git
synced 2026-09-19 17:15:24 +00:00
Add base for plugin linking/installation
This commit is contained in:
+2
-11
@@ -1,25 +1,16 @@
|
||||
var _ = require('lodash');
|
||||
var path = require('path');
|
||||
var resolve = require('resolve');
|
||||
|
||||
var Promise = require('../utils/promise');
|
||||
var gitbook = require('../gitbook');
|
||||
|
||||
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('');
|
||||
}
|
||||
|
||||
var registry = require('./registry');
|
||||
|
||||
function BookPlugin(book, pluginId) {
|
||||
this.book = book;
|
||||
this.log = this.book.log;
|
||||
|
||||
this.id = pluginId;
|
||||
this.npmId = npmId(pluginId);
|
||||
this.npmId = registry.npmId(pluginId);
|
||||
this.baseDir;
|
||||
|
||||
this.packageInfos = undefined;
|
||||
|
||||
@@ -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
|
||||
};
|
||||
Reference in New Issue
Block a user