summaryrefslogtreecommitdiffstats
path: root/lib/generate
diff options
context:
space:
mode:
authorSamy Pessé <samypesse@gmail.com>2014-08-17 11:16:36 -0700
committerSamy Pessé <samypesse@gmail.com>2014-08-17 11:16:36 -0700
commit17f40540ae6c05ff2f74ba8056331e58db950a8a (patch)
tree2efbcb8ebcb5e285d0f017cd956ee54b1bcbd969 /lib/generate
parentd337a500dc9db1c9ac4cd95938dd10cd06e6a991 (diff)
downloadgitbook-17f40540ae6c05ff2f74ba8056331e58db950a8a.zip
gitbook-17f40540ae6c05ff2f74ba8056331e58db950a8a.tar.gz
gitbook-17f40540ae6c05ff2f74ba8056331e58db950a8a.tar.bz2
Parse glossary during build
Diffstat (limited to 'lib/generate')
-rw-r--r--lib/generate/index.js32
1 files changed, 31 insertions, 1 deletions
diff --git a/lib/generate/index.js b/lib/generate/index.js
index c71e0a6..4fc78a7 100644
--- a/lib/generate/index.js
+++ b/lib/generate/index.js
@@ -232,14 +232,44 @@ var generateBook = function(options) {
.then(function() {
options.summary = summary.content;
options.navigation = parse.navigation(options.summary);
+ });
+ })
+
+ // Read glossary
+ .then(function() {
+ var glossary = {};
+
+ var _callHook = function(name) {
+ return generator.callHook(name, glossary)
+ .then(function(_glossary) {
+ glossary = _glossary;
+ return glossary;
+ });
+ };
+
+ return fs.readFile(path.join(options.input, "GLOSSARY.md"), "utf-8")
+ .fail(function() {
+ return "";
+ })
+ .then(function(_content) {
+ glossary.content = _content;
+ return _callHook("glossary:before");
})
+ .then(function() {
+ glossary.content = parse.glossary(glossary.content);
+ return _callHook("glossary:after");
+ })
+ .then(function() {
+ options.glossary = glossary.content;
+ });
})
// Skip processing some files
.then(function() {
files = _.filter(files, function (file) {
return !(
- file === 'SUMMARY.md'
+ file === 'SUMMARY.md' ||
+ file === 'GLOSSARY.md'
);
});
})