Infer front-matter type on our own.

This commit is contained in:
Caleb 2017-09-12 20:51:40 -06:00
parent 37d4330370
commit ab8226ce63

View File

@ -8,9 +8,21 @@ preliminaries(true);
yamlParser(true);
tomlParser(true);
function inferFrontmatterFormat(str) {
const firstLine = str.substr(0, str.indexOf('\n')).trim();
switch (firstLine) {
case "---":
return { lang: "yaml", delims: "---" };
case "+++":
return { lang: "toml", delims: "+++" };
case "{":
return { lang: "json", delims: ["{", "}"] };
}
}
export default class Frontmatter {
fromFile(content) {
const result = preliminaries.parse(content);
const result = preliminaries.parse(content, inferFrontmatterFormat(content));
const data = result.data;
data.body = result.content;
return data;