summaryrefslogtreecommitdiffstats
path: root/packages/gitbook-html/lib/glossary.js
blob: 26787ab09fe24af79a208b1f6992ba6cfb938ce5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
var _ = require('lodash');
var dom = require('./dom');

/**
    Parse an HTML content into a list of glossary entry

    @param {String} html
    @return {Array}
*/
function parseGlossary(html) {
    var $ = dom.parse(html);

    var entries = [];

    $('h2').each(function() {
        var $heading = $(this);
        var $next = $heading.next()
        var $p =  $next.is('p')? $next.first() : $next.find('p').first();

        var entry = {};

        entry.name = $heading.text();
        entry.description = $p.text();

        entries.push(entry);
    });

    return entries;
}

module.exports = parseGlossary;