summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamy Pessé <samypesse@gmail.com>2015-01-21 11:02:50 +0100
committerSamy Pessé <samypesse@gmail.com>2016-12-22 11:46:15 +0100
commit944477f0c3b71d0043bdf3a9ee17514fdf56fc4d (patch)
treef88296c88231c8a46750628e63e8b5c003f05745
parent0323d17ab937b0e223e92d3166765052e896fa5b (diff)
downloadgitbook-944477f0c3b71d0043bdf3a9ee17514fdf56fc4d.zip
gitbook-944477f0c3b71d0043bdf3a9ee17514fdf56fc4d.tar.gz
gitbook-944477f0c3b71d0043bdf3a9ee17514fdf56fc4d.tar.bz2
Complete parsing of glossary
-rwxr-xr-xpackages/gitbook-asciidoc/lib/glossary.js29
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;