diff options
author | Samy Pessé <samypesse@gmail.com> | 2016-04-27 09:59:09 +0200 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2016-04-27 09:59:09 +0200 |
commit | f4de7748f596a060e9a59df0447315b59d7c47de (patch) | |
tree | 427e37658a3ccf61ed3a5df63bf263b27fe7530e /lib/api | |
parent | 93c26a839bc8102cf8d12a24ff69381db5a5c864 (diff) | |
download | gitbook-f4de7748f596a060e9a59df0447315b59d7c47de.zip gitbook-f4de7748f596a060e9a59df0447315b59d7c47de.tar.gz gitbook-f4de7748f596a060e9a59df0447315b59d7c47de.tar.bz2 |
Complete generator name in plugins API
Diffstat (limited to 'lib/api')
-rw-r--r-- | lib/api/encodeConfig.js | 6 | ||||
-rw-r--r-- | lib/api/encodeGlobal.js | 44 |
2 files changed, 43 insertions, 7 deletions
diff --git a/lib/api/encodeConfig.js b/lib/api/encodeConfig.js index d83f81a..2a05528 100644 --- a/lib/api/encodeConfig.js +++ b/lib/api/encodeConfig.js @@ -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; } diff --git a/lib/api/encodeGlobal.js b/lib/api/encodeGlobal.js index 0e0f82c..915350c 100644 --- a/lib/api/encodeGlobal.js +++ b/lib/api/encodeGlobal.js @@ -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); + }); + }); } }; |