An easy package to parse any markdown file that includes some kind of meta data (commonly known as frontmatter).
composer require hyn/frontmatter
The easiest way is using inversion of control, but feel free to instantiate the class the way you see fit:
$parser = new \Hyn\Frontmatter\Parser(new \cebe\markdown\Markdown);
// Uses json per default, but set specifically:
$parser->setFrontmatter(\Hyn\Frontmatter\Frontmatters\JsonFrontmatter::class);
// Use toml:
$parser->setFrontmatter(\Hyn\Frontmatter\Frontmatters\TomlFrontmatter::class);
// Or use yaml:
$parser->setFrontmatter(\Hyn\Frontmatter\Frontmatters\YamlFrontmatter::class);
// And parse the markdown file:
$contents = $parser->parse(file_get_contents('the-file.md'));
// Get meta
$meta = $parser->getMeta();