An easy to use class for handling YAML frontmatter in PHP.
This class is a PHP implementation of Jekyll Front Matter.
Any file that contains a YAML front matter block will be processed as a special file. The front matter must be the first thing in the file and must take the form of valid YAML set between triple-dashed lines. Here is a basic example:
---
layout: post
title: Blogging Like a Hacker
---
Between these triple-dashed lines, you can set variables using YAML. You can access them via the fetch
function. Conversion to Markdown is optional.
$page = new \Modularr\YAMLFrontmatter\FrontMatter('content/example.md');
echo '<h1><a href="'.$page->fetch('uri').'">'.$page->fetch('title').'</a></h1>
'.$page->fetch('content');
foreach($page->fetch('list') as $key => $value) {
echo '<li>'.$key.' => '.$value.'</li>';
}
$array = $page->fetch('list');
echo $array['foo'];
---
foo: bar
title: Test
info: you can have as many custom fields as you like
date: 2005-09-16 17:20:42+00:00
layout: post
comments: true
slug: testing
list: { foo: bar, bar: baz }
list2:
- foo
- bar
list3:
foo: bar
bar: baz
---
<h1>Text Here</h1>
<p>content</p>
Install in via Composer:
composer require modularr/yaml-front-matter
If you are using the package in a VanillaJS project make sure you have:
require_once 'vendor/autoload.php';