summaryrefslogtreecommitdiffstats
path: root/lib/generate
diff options
context:
space:
mode:
authorMatt Ellis <m.t.ellis@gmail.com>2014-07-09 17:17:40 +0100
committerMatt Ellis <m.t.ellis@gmail.com>2014-07-09 17:17:40 +0100
commitfc942fdeca9264d2476eb8bcb576c454eff88055 (patch)
tree360826c8c6d6891d7b2562666e4f0282275d9e15 /lib/generate
parent520045441b9401fadfba2b1b03696bd15b60027d (diff)
downloadgitbook-fc942fdeca9264d2476eb8bcb576c454eff88055.zip
gitbook-fc942fdeca9264d2476eb8bcb576c454eff88055.tar.gz
gitbook-fc942fdeca9264d2476eb8bcb576c454eff88055.tar.bz2
Hooks for summary data
Diffstat (limited to 'lib/generate')
-rw-r--r--lib/generate/index.js30
1 files changed, 24 insertions, 6 deletions
diff --git a/lib/generate/index.js b/lib/generate/index.js
index 444f75f..53de646 100644
--- a/lib/generate/index.js
+++ b/lib/generate/index.js
@@ -271,13 +271,31 @@ var generateBook = function(options) {
// Get summary
.then(function() {
- return fs.readFile(path.join(options.input, "SUMMARY.md"), "utf-8")
- .then(function(_summary) {
- options.summary = parse.summary(_summary);
+ var summary = {
+ path: path.join(options.input, "SUMMARY.md")
+ };
- // Parse navigation
- options.navigation = parse.navigation(options.summary);
- });
+ var _callHook = function(name) {
+ return generator.callHook(name, summary)
+ .then(function(_summary) {
+ summary = _summary;
+ return summary;
+ });
+ };
+
+ return fs.readFile(summary.path, "utf-8")
+ .then(function(_content) {
+ summary.content = _content;
+ return _callHook("summary:before");
+ })
+ .then(function() {
+ summary.content = parse.summary(summary.content);
+ return _callHook("summary:after");
+ })
+ .then(function() {
+ options.summary = summary.content;
+ options.navigation = parse.navigation(options.summary);
+ })
})
// Skip processing some files