diff options
author | Samy Pessé <samypesse@gmail.com> | 2015-01-21 11:02:50 +0100 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2016-12-22 11:46:15 +0100 |
commit | 944477f0c3b71d0043bdf3a9ee17514fdf56fc4d (patch) | |
tree | f88296c88231c8a46750628e63e8b5c003f05745 | |
parent | 0323d17ab937b0e223e92d3166765052e896fa5b (diff) | |
download | gitbook-944477f0c3b71d0043bdf3a9ee17514fdf56fc4d.zip gitbook-944477f0c3b71d0043bdf3a9ee17514fdf56fc4d.tar.gz gitbook-944477f0c3b71d0043bdf3a9ee17514fdf56fc4d.tar.bz2 |
Complete parsing of glossary
-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; |