diff options
Diffstat (limited to 'packages/gitbook-asciidoc/lib')
-rwxr-xr-x | packages/gitbook-asciidoc/lib/glossary.js | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/packages/gitbook-asciidoc/lib/glossary.js b/packages/gitbook-asciidoc/lib/glossary.js index dec645d..cafb130 100755 --- a/packages/gitbook-asciidoc/lib/glossary.js +++ b/packages/gitbook-asciidoc/lib/glossary.js @@ -1,7 +1,34 @@ var _ = require('lodash'); +var cheerio = require('cheerio'); + +var convert = require('./utils/convert'); function parseGlossary(src) { - return []; + var html = convert(src); + $ = cheerio.load(html); + + var entries = []; + + $("h2").each(function() { + var $h2 = $(this); + var $p = $h2.next().find("p"); + + var entry = {}; + + entry.name = $h2.text(); + entry.id = entryId(entry.name); + entry.description = $p.text(); + + entries.push(entry); + }); + + return entries; +} + +// Normalizes a glossary entry's name to create an ID +function entryId(name) { + return name.toLowerCase(); } module.exports = parseGlossary; +module.exports.entryId = entryId; |