mnapoli/front-yaml
YAML Front matter parser
Maintainers
2.0.6
2026-04-08 20:59 UTC
Requires
- php: ^7.4|^8.0
- league/commonmark: ^2.0
- symfony/yaml: ^4.0|^5.0|^6.0|^7.0|^8.0
Requires (Dev)
- phpunit/phpunit: ^9.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
MIT f4f96c79dad99f2c9515d8403be29d93699d7522
README
An implementation of YAML Front matter for PHP. It can parse both YAML and Markdown.
Installation
Require the project with Composer:
composer require mnapoli/front-yaml
Usage
$parser = new Mni\FrontYAML\Parser; $document = $parser->parse($str); $yaml = $document->getYAML(); $html = $document->getContent();
If you don't want the Markdown to be parsed (maybe because it is not Markdown):
$document = $parser->parse($str, false);
Example
The following file:
--- foo: bar --- This is **strong**.
Will give:
var_export($document->getYAML()); // array("foo" => "bar") var_export($document->getContent()); // "<p>This is <strong>strong</strong></p>"
YAML and Markdown parsers
$parser = new Mni\FrontYAML\Parser($yamlParser, $markdownParser);
This library uses dependency injection and abstraction to allow you to provide your own YAML or Markdown parser.
interface YAMLParser { public function parse($yaml); }
FrontYAML uses by default Symfony's YAML parser.
interface MarkdownParser { public function parse($markdown); }
FrontYAML uses by default the League CommonMark parser.
