markdown2html/src/frontmatter.ts
2023-04-29 17:24:14 -07:00

19 lines
482 B
TypeScript

import * as yaml from 'yaml';
export function process_frontmatter(document: string, parse = true) {
if (! document.startsWith('---\n')) {
return {
frontmatter: null,
markdown: document,
};
}
const endIndex = document.slice(3).indexOf('\n---\n') + 3;
const frontmatterYaml = document.slice(3, endIndex);
const markdown = document.slice(endIndex + 4);
const frontmatter = parse ? frontmatterYaml : yaml.parse(frontmatterYaml);
return { frontmatter, markdown };
}