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.