diff options
author | Samy Pessé <samypesse@gmail.com> | 2016-04-27 14:11:45 +0200 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2016-04-27 14:11:45 +0200 |
commit | a9d558e89181b3b18151f6344a309ea444526e03 (patch) | |
tree | e8a870fb54453aeb5185816352e8afc6ba42788c /lib/models/glossary.js | |
parent | 8291eb58dffad58ab51abcdf13bc9cfd96d30b91 (diff) | |
download | gitbook-a9d558e89181b3b18151f6344a309ea444526e03.zip gitbook-a9d558e89181b3b18151f6344a309ea444526e03.tar.gz gitbook-a9d558e89181b3b18151f6344a309ea444526e03.tar.bz2 |
Add method ".toText" on glossary and summary
Diffstat (limited to 'lib/models/glossary.js')
-rw-r--r-- | lib/models/glossary.js | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/models/glossary.js b/lib/models/glossary.js index 51aa370..bb4407d 100644 --- a/lib/models/glossary.js +++ b/lib/models/glossary.js @@ -1,7 +1,9 @@ var Immutable = require('immutable'); +var error = require('../utils/error'); var File = require('./file'); var GlossaryEntry = require('./glossaryEntry'); +var parsers = require('../parsers'); var Glossary = Immutable.Record({ file: File(), @@ -30,6 +32,27 @@ Glossary.prototype.getEntry = function(name) { }; /** + Render glossary as text + + @return {Promise<String>} +*/ +Glossary.prototype.toText = function(parser) { + var file = this.getFile(); + var entries = this.getEntries(); + + parser = parser? parsers.getByExt(parser) : file.getParser(); + + if (!parser) { + throw error.FileNotParsableError({ + filename: file.getPath() + }); + } + + return parser.glossary.toText(entries.toJS()); +}; + + +/** Add/Replace an entry to a glossary @param {Glossary} glossary |