diff options
author | Aaron O'Mullan <aaron.omullan@gmail.com> | 2014-04-21 14:26:09 -0700 |
---|---|---|
committer | Aaron O'Mullan <aaron.omullan@gmail.com> | 2014-04-21 14:26:09 -0700 |
commit | 4c90fdb7b27fdf6527b59097d489a9df0a929264 (patch) | |
tree | b00f3196f58ed712dea40dd69a261fc43129a651 /lib/generate/index.js | |
parent | d1c1d7b75b6e4a304d031c4313cf54ae8aa3a11d (diff) | |
parent | 98c133df3c9077c1b06748c3206bea3ff011ed3a (diff) | |
download | gitbook-4c90fdb7b27fdf6527b59097d489a9df0a929264.zip gitbook-4c90fdb7b27fdf6527b59097d489a9df0a929264.tar.gz gitbook-4c90fdb7b27fdf6527b59097d489a9df0a929264.tar.bz2 |
Merge pull request #123 from GitbookIO/feature/plugins
Fix #65: Plugins Architecture
Diffstat (limited to 'lib/generate/index.js')
-rw-r--r-- | lib/generate/index.js | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/lib/generate/index.js b/lib/generate/index.js index 33edc1f..bbe5ec2 100644 --- a/lib/generate/index.js +++ b/lib/generate/index.js @@ -6,6 +6,7 @@ var tmp = require('tmp'); var fs = require("./fs"); var parse = require("../parse"); +var Plugin = require("./plugin"); var generators = { "site": require("./site"), @@ -42,7 +43,11 @@ var generate = function(options) { githubHost: 'https://github.com/', // Theming - theme: path.resolve(__dirname, '../../theme') + theme: path.resolve(__dirname, '../../theme'), + + // Plugins + plugins: [], + pluginsConfig: {} }); if (!options.input) { @@ -70,9 +75,10 @@ var generate = function(options) { }) }) - // Create the generator + // Create the generator and load plugins .then(function() { generator = new generators[options.generator](options); + return generator.loadPlugins(); }) // Detect multi-languages book @@ -163,6 +169,9 @@ var generate = function(options) { // Finish gneration .then(function() { return generator.finish(); + }) + .then(function() { + return generator.callHook("finish"); }); } }) @@ -234,5 +243,6 @@ var generateFile = function(options) { module.exports = { generators: generators, folder: generate, - file: generateFile + file: generateFile, + Plugin: Plugin }; |