diff options
Diffstat (limited to 'packages/gitbook-html/lib/glossary.js')
-rwxr-xr-x | packages/gitbook-html/lib/glossary.js | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/packages/gitbook-html/lib/glossary.js b/packages/gitbook-html/lib/glossary.js new file mode 100755 index 0000000..648ba1a --- /dev/null +++ b/packages/gitbook-html/lib/glossary.js @@ -0,0 +1,38 @@ +var _ = require('lodash'); +var dom = require('./dom'); + +// HTML -> Glossary +function parseGlossary(html) { + var $ = dom.parse(html); + + var entries = []; + + $("h2").each(function() { + var $heading = $(this); + var $p = $heading.next(); + + var entry = {}; + + entry.name = $heading.text(); + entry.description = $p.text(); + + entries.push(entry); + }); + + return entries; +} + +// Glossary -> HTML +function glossaryToText(glossary) { + var bl = '\n'; + + var body = _.map(glossary, function(entry) { + return '<h2>' + entry.name + '</h2>' + bl + bl + + '<p>' + entry.description + '</p>'; + }).join(bl+bl); + + return '<h1>Glossary</h1>'+bl+bl+body; +} + +module.exports = parseGlossary; +module.exports.toText = glossaryToText; |