summaryrefslogtreecommitdiffstats
path: root/packages/gitbook-asciidoc/lib/glossary.js
blob: c32199ceca25507198a378726d40284f11da5896 (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
32
33
34
35
36
37
38
39
var _ = require('lodash');
var cheerio = require('cheerio');

var convert = require('./utils/convert');

function parseGlossary(src) {
	var html = convert(src);
    var $ = cheerio.load(html);

    var entries = [];

    $("h2").each(function() {
    	var $h2 = $(this);
        var $p = $h2.next().find("p");

    	var entry = {};

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

    	entries.push(entry);
    });

    return entries;
}


function glossaryToText(glossary) {
    var bl = "\n";

    var body = _.map(glossary, function(entry) {
        return "== "+entry.name+bl+bl+entry.description;
    }).join(bl+bl);

    return "= Glossary"+bl+bl+body;
}

module.exports = parseGlossary;
module.exports.toText = glossaryToText;