Installs: 2 480 489

Dependents: 45

Suggesters: 0

Security: 0

Stars: 252

Watchers: 7

Forks: 25

Open Issues: 5

1.8.0 2020-12-04 10:52 UTC

This package is auto-updated.

Last update: 2021-04-08 13:52:21 UTC


An implementation of YAML Front matter for PHP. Can parse the YAML and the Markdown.

Build Status Total Downloads


Require the project with Composer:

composer require mnapoli/front-yaml


$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);


The following file:

foo: bar
This is **strong**.

Will give:

// array("foo" => "bar")

// "<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 Parsedown Markdown parser.

An adapter to League CommonMark is also included (you need to require the league/commonmark though):

use \Mni\FrontYAML\Bridge\CommonMark\CommonMarkParser;

$parser = new Mni\FrontYAML\Parser(null, new CommonMarkParser());