summaryrefslogtreecommitdiffstats
path: root/lib/parser.js
blob: b4243e02c1c42342494fbd32ca33b37166ac2e2c (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
var _ = require("lodash");
var path = require("path");

// This list is ordered by priority of parser to use
var PARSER = [
	{
		extensions: [".md", ".markdown"],
		parser: require("gitbook-markdown")
	}
];

// Return a specific parser according to an extension
function getParser(ext) {
	return _.find(PARSER, function(input) {
		return _.contains(input.extensions, ext);
	});
}

// Return parser for a file
function getParserForFile(filename) {
	return getParser(path.extname(filename));
};

module.exports = {
	extensions: _.flatten(_.pluck(PARSER, "extensions")),
	get: getParser,
	getForFile: getParserForFile
};