diff options
author | Samy Pessé <samypesse@gmail.com> | 2014-08-17 11:16:36 -0700 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2014-08-17 11:16:36 -0700 |
commit | 17f40540ae6c05ff2f74ba8056331e58db950a8a (patch) | |
tree | 2efbcb8ebcb5e285d0f017cd956ee54b1bcbd969 /lib/generate | |
parent | d337a500dc9db1c9ac4cd95938dd10cd06e6a991 (diff) | |
download | gitbook-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.js | 32 |
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' ); }); }) |