Change your parser
Choose an other parser
Parvula is really flexible, let see how you can easily change the parser.
Use the Json parser [example]
Open system.yaml (in data/config) and edit the field headParser to use the Json parser.
# Class to parse pages (must implement ContentParserInterface), can be null
headParser: \Parvula\Parser\Json
You can now use Json in the front-matter of your pages. For example :
{
"title": "My page"
}
---
# My content
PS: Do not forget to change all pages with new Json format. You cannot mix formats.
Create a new parser [example]
By default Parvula can parse the Json, Yaml en PHP formats and use Yaml as the default format.
Let’s add the INI format to parse our front-matter.
Create a new class
In Parvula/Core/Parser/ create a new file called Ini.php. Create the new class Ini and implements ParserInterface.
ParserInterface will force us to implements the methods decode($iniString) and encode($data).
<?php
namespace Parvula\Parser;
class Ini implements ParserInterface {
/**
* Parse ini
* @param string $input The string to parse
* @return array|object Appropriate PHP type
*/
public function decode($iniString) {
return parse_ini_string($iniString); // Will parse front-matter to array
}
public function encode($data) { } // Not in this example
}
You can now use your new class. Change headParser in system.yaml to use your yout Ini class.
headParser: \Parvula\Parser\Ini
You are now able to write your front-matter in the ini format.