mirror of
https://github.com/KnpLabs/KnpMarkdownBundle.git
synced 2024-05-03 14:13:16 +02:00
35 lines
782 B
PHP
35 lines
782 B
PHP
<?php
|
|
|
|
namespace Knp\Bundle\MarkdownBundle\Twig\Extension;
|
|
|
|
use Knp\Bundle\MarkdownBundle\Parser\ParserManager;
|
|
use Twig\Extension\AbstractExtension;
|
|
use Twig\TwigFilter;
|
|
|
|
class MarkdownTwigExtension extends AbstractExtension
|
|
{
|
|
private $parserManager;
|
|
|
|
public function __construct(ParserManager $parserManager)
|
|
{
|
|
$this->parserManager = $parserManager;
|
|
}
|
|
|
|
public function getFilters(): array
|
|
{
|
|
return array(
|
|
new TwigFilter('markdown', array($this, 'markdown'), array('is_safe' => array('html'))),
|
|
);
|
|
}
|
|
|
|
public function markdown($text, $parser = null): string
|
|
{
|
|
return $this->parserManager->transform($text, $parser);
|
|
}
|
|
|
|
public function getName(): string
|
|
{
|
|
return 'markdown';
|
|
}
|
|
}
|