summaryrefslogtreecommitdiffstats
path: root/lib/parse/readme.js
blob: aab094dcf701bd9bb1eb583104c1ec58a4cc801a (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
var _ = require('lodash');
var marked = require('marked');

function extractFirstNode(nodes, nType) {
    return _.chain(nodes)
    .filter(function(node) {
        return node.type == nType;
    })
    .pluck("text")
    .first()
    .value();
}


function parseReadme(src) {
    var nodes, title, description;

    // Parse content
    nodes = marked.lexer(src);
    
    var title = extractFirstNode(nodes, "heading");
    var description = extractFirstNode(nodes, "paragraph");

    return {
        title: title,
        description: description
    };
}


// Exports
module.exports = parseReadme;