summaryrefslogtreecommitdiffstats
path: root/lib/generate/index.js
diff options
context:
space:
mode:
authorAaron O'Mullan <aaron.omullan@gmail.com>2014-04-21 14:26:09 -0700
committerAaron O'Mullan <aaron.omullan@gmail.com>2014-04-21 14:26:09 -0700
commit4c90fdb7b27fdf6527b59097d489a9df0a929264 (patch)
treeb00f3196f58ed712dea40dd69a261fc43129a651 /lib/generate/index.js
parentd1c1d7b75b6e4a304d031c4313cf54ae8aa3a11d (diff)
parent98c133df3c9077c1b06748c3206bea3ff011ed3a (diff)
downloadgitbook-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.js16
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
};