summaryrefslogtreecommitdiffstats
path: root/packages/gitbook-html/lib/glossary.js
diff options
context:
space:
mode:
Diffstat (limited to 'packages/gitbook-html/lib/glossary.js')
-rwxr-xr-xpackages/gitbook-html/lib/glossary.js38
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;