mirror of
https://github.com/GitbookIO/gitbook.git
synced 2026-09-24 11:26:31 +00:00
Complete generator name in plugins API
This commit is contained in:
@@ -24,6 +24,12 @@ function encodeConfig(output, config) {
|
||||
deprecate.field(output, 'config.options', result, 'options',
|
||||
result.values, '"config.options" property is deprecated, use "config.get(key)" instead');
|
||||
|
||||
deprecate.field(output, 'config.options.generator', result.values, 'generator',
|
||||
output.getGenerator(), '"options.generator" property is deprecated, use "output.name" instead');
|
||||
|
||||
deprecate.field(output, 'config.options.generator', result.values, 'output',
|
||||
output.getRoot(), '"options.output" property is deprecated, use "output.root()" instead');
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
+37
-7
@@ -1,6 +1,6 @@
|
||||
var path = require('path');
|
||||
|
||||
var fs = require('../utils/fs');
|
||||
var Promise = require('../utils/promise');
|
||||
var PathUtils = require('../utils/promise');
|
||||
|
||||
var deprecate = require('./deprecate');
|
||||
var encodeConfig = require('./encodeConfig');
|
||||
@@ -15,8 +15,7 @@ var encodeConfig = require('./encodeConfig');
|
||||
function encodeGlobal(output) {
|
||||
var book = output.getBook();
|
||||
var logger = output.getLogger();
|
||||
|
||||
var outputFolder = output.getOptions().get('root');
|
||||
var outputFolder = output.getRoot();
|
||||
|
||||
var result = {
|
||||
log: logger,
|
||||
@@ -24,15 +23,46 @@ function encodeGlobal(output) {
|
||||
};
|
||||
|
||||
result.output = {
|
||||
name: 'website',
|
||||
/**
|
||||
Name of the generator being used
|
||||
{String}
|
||||
*/
|
||||
name: output.getGenerator(),
|
||||
|
||||
/**
|
||||
Return absolute path to the root folder of output
|
||||
@return {String}
|
||||
*/
|
||||
root: function() {
|
||||
return outputFolder;
|
||||
},
|
||||
|
||||
/**
|
||||
Convert a filepath into an url
|
||||
@return {String}
|
||||
*/
|
||||
toURL: function(s) {
|
||||
return s;
|
||||
},
|
||||
|
||||
/**
|
||||
Write a file to the output folder,
|
||||
It creates the required folder
|
||||
|
||||
@param {String} fileName
|
||||
@param {Buffer} content
|
||||
@return {Promise}
|
||||
*/
|
||||
writeFile: function(fileName, content) {
|
||||
var filePath = path.join(outputFolder, fileName);
|
||||
return fs.writeFile(filePath, content);
|
||||
return Promise()
|
||||
.then(function() {
|
||||
var filePath = PathUtils.resolveInRoot(outputFolder, fileName);
|
||||
|
||||
return fs.ensure(filePath)
|
||||
.then(function() {
|
||||
return fs.writeFile(filePath, content);
|
||||
});
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -5,6 +5,9 @@ var Book = require('./book');
|
||||
var Output = Immutable.Record({
|
||||
book: Book(),
|
||||
|
||||
// Name of the generator being used
|
||||
generator: String(),
|
||||
|
||||
// Map of plugins to use (String -> Plugin)
|
||||
plugins: Immutable.OrderedMap(),
|
||||
|
||||
@@ -25,6 +28,10 @@ Output.prototype.getBook = function() {
|
||||
return this.get('book');
|
||||
};
|
||||
|
||||
Output.prototype.getGenerator = function() {
|
||||
return this.get('generator');
|
||||
};
|
||||
|
||||
Output.prototype.getPlugins = function() {
|
||||
return this.get('plugins');
|
||||
};
|
||||
@@ -45,6 +52,15 @@ Output.prototype.getState = function() {
|
||||
return this.get('state');
|
||||
};
|
||||
|
||||
/**
|
||||
Get root folder for output
|
||||
|
||||
@return {String}
|
||||
*/
|
||||
Output.prototype.getRoot = function() {
|
||||
return this.getOptions().get('root');
|
||||
};
|
||||
|
||||
/**
|
||||
Return logegr for this output (same as book)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user