KnpMarkdownBundle/Twig/Extension/MarkdownTwigExtension.php

35 lines
782 B
PHP
Raw Normal View History

2010-09-19 21:05:36 +02:00
<?php
namespace Knp\Bundle\MarkdownBundle\Twig\Extension;
2010-09-19 21:05:36 +02:00
use Knp\Bundle\MarkdownBundle\Parser\ParserManager;
use Twig\Extension\AbstractExtension;
use Twig\TwigFilter;
2010-09-19 21:05:36 +02:00
class MarkdownTwigExtension extends AbstractExtension
2010-09-19 21:05:36 +02:00
{
private $parserManager;
2010-09-19 21:05:36 +02:00
public function __construct(ParserManager $parserManager)
2010-09-19 21:05:36 +02:00
{
$this->parserManager = $parserManager;
2010-09-19 21:05:36 +02:00
}
2021-11-05 17:50:12 +01:00
public function getFilters(): array
2010-09-19 21:05:36 +02:00
{
return array(
new TwigFilter('markdown', array($this, 'markdown'), array('is_safe' => array('html'))),
2010-09-19 21:05:36 +02:00
);
}
2021-11-05 17:50:12 +01:00
public function markdown($text, $parser = null): string
2010-09-19 21:05:36 +02:00
{
return $this->parserManager->transform($text, $parser);
2010-09-19 21:05:36 +02:00
}
2021-11-05 17:50:12 +01:00
public function getName(): string
2010-09-19 21:05:36 +02:00
{
return 'markdown';
}
}