modularr / yaml-front-matter
YAML-FrontMatter is a simple to use PHP-only FrontMatter type parser Library.
Requires
- symfony/yaml: ~2.1|^3.0
Requires (Dev)
- phpunit/phpunit: ~4.0
This package is auto-updated.
Last update: 2024-11-10 08:22:51 UTC
README
An easy to use class for handling YAML frontmatter in PHP.
What does this class do?
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.
How to use
$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>
Installation
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';