appertly/axe-markdown
Aâppertly XâHP Eâxtras Markdown: Markdown to XHP in Hack/HHVM., (*1)
, (*2)
Installation
You can install this library using Composer:, (*3)
$ composer require appertly/axe-markdown
- The master branch (version 0.x) of this project requires HHVM 3.12 and depends on XHP 2.2+ and league/commonmark.
Compliance
Releases of this library will conform to Semantic Versioning., (*4)
Our code is intended to comply with PSR-1 and PSR-2. If you find any issues related to standards compliance, please send a pull request!, (*5)
Features
Instead of using league/commonmark
to actually render the HTML, we use it to parse Markdown into an Abstract Syntax Tree, then we create real bona fide XHP nodes from that AST., (*6)
Example
function getXhp(): XHPRoot
{
$str = <<<EOD
# Hello!
This is great
* Don't you think?
EOD;
return <axe:markdown text={$str}/>;
}
Calling this function will produce XHP nodes exactly like this:, (*7)
<h1>Hello!</h1><p>This is great</p><ul><li>Don't you think?</li></ul>
You can also supply your own DocParser
in case you've registered custom extensions., (*8)
$environment = League\CommonMark\Environment::createCommonMarkEnvironment();
// customize Environment
$docParser = new League\CommonMark\DocParser($environment);
// customize DocParser
echo <axe:markdown text={$text} docParser={$docParser}/>;