diff options
author | Samy Pesse <samypesse@gmail.com> | 2016-04-26 17:02:59 +0200 |
---|---|---|
committer | Samy Pesse <samypesse@gmail.com> | 2016-04-26 17:02:59 +0200 |
commit | 8bac111acf121adf03cc2dff09bd0a1ce8cea19b (patch) | |
tree | e568a585c6ac78b05ff86044fb589edbd778b43d /lib/api/encodeGlobal.js | |
parent | 7a46d3b4977bcd1e115324880a409e88032899a7 (diff) | |
download | gitbook-8bac111acf121adf03cc2dff09bd0a1ce8cea19b.zip gitbook-8bac111acf121adf03cc2dff09bd0a1ce8cea19b.tar.gz gitbook-8bac111acf121adf03cc2dff09bd0a1ce8cea19b.tar.bz2 |
Add base for plugin JS api
Diffstat (limited to 'lib/api/encodeGlobal.js')
-rw-r--r-- | lib/api/encodeGlobal.js | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/lib/api/encodeGlobal.js b/lib/api/encodeGlobal.js new file mode 100644 index 0000000..b2dd77a --- /dev/null +++ b/lib/api/encodeGlobal.js @@ -0,0 +1,46 @@ +var path = require('path'); + +var fs = require('../utils/fs'); + +var deprecate = require('./deprecate'); +var encodeConfig = require('./encodeConfig'); + +/** + Encode a global context into a JS object + It's the context for page's hook, etc + + @param {Output} output + @return {Object} +*/ +function encodeGlobal(output) { + var book = output.getBook(); + var logger = output.getLogger(); + + var outputFolder = output.getOptions().get('root'); + + var result = { + log: logger, + config: encodeConfig(output, book.getConfig()) + }; + + result.output = { + name: 'website', + + toURL: function(s) { + return s; + }, + + writeFile: function(fileName, content) { + var filePath = path.join(outputFolder, fileName); + return fs.writeFile(filePath, content); + } + }; + + result.isLanguageBook = function() { + return false; + }; + + return result; +} + +module.exports = encodeGlobal; |