diff options
author | Aaron O'Mullan <aaron.omullan@friendco.de> | 2014-10-15 21:20:10 +0200 |
---|---|---|
committer | Aaron O'Mullan <aaron.omullan@friendco.de> | 2014-10-15 21:20:10 +0200 |
commit | 52e83618467a238f6b20f5fb77f6f6a2e1450c8c (patch) | |
tree | 96b43d8396fedea81409677f1e10698a0b36265c /lib/generate/generator.js | |
parent | 49e3bbc3d6e9e128df721494e9a10eaf15b7ddc8 (diff) | |
download | gitbook-52e83618467a238f6b20f5fb77f6f6a2e1450c8c.zip gitbook-52e83618467a238f6b20f5fb77f6f6a2e1450c8c.tar.gz gitbook-52e83618467a238f6b20f5fb77f6f6a2e1450c8c.tar.bz2 |
Add include support, with variables and the whole shebang
Fixes #462
Diffstat (limited to 'lib/generate/generator.js')
-rw-r--r-- | lib/generate/generator.js | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/generate/generator.js b/lib/generate/generator.js index 8724a4f..84c65d7 100644 --- a/lib/generate/generator.js +++ b/lib/generate/generator.js @@ -14,12 +14,35 @@ var BaseGenerator = function(options) { this.options.plugins = Plugin.normalizeNames(this.options.plugins); this.options.plugins = _.union(this.options.plugins, this.options.defaultsPlugins); this.plugins = []; + + // Include variables (not yet loaded) + this.variables = {}; }; BaseGenerator.prototype.callHook = function(name, data) { return this.plugins.hook(name, data); }; +// Sets up generator +BaseGenerator.prototype.load = function() { + return this.loadVariables() + .then(this.loadPlugins.bind(this)); +}; + +BaseGenerator.prototype.loadVariables = function() { + var that = this; + + return fs.readFile(path.join(this.options.input, 'variables.json'), 'utf8') + .then(function(content) { + try { + that.variables = JSON.parse(content); + } catch(err) { + console.log('No variables.json'); + } + }) + .fail(function() {}); +}; + BaseGenerator.prototype.loadPlugins = function() { var that = this; |