source/View/Templates/Twig/CommonMarkdown.php line 19

Open in your IDE?
  1. <?php
  2. namespace App\View\Templates\Twig;
  3. use League\CommonMark\Environment\Environment;
  4. use League\CommonMark\Extension\Attributes\AttributesExtension;
  5. use League\CommonMark\Extension\CommonMark\CommonMarkCoreExtension;
  6. use League\CommonMark\Extension\DescriptionList\DescriptionListExtension;
  7. use League\CommonMark\MarkdownConverter;
  8. use Twig\Extra\Markdown\MarkdownInterface;
  9. class CommonMarkdown implements MarkdownInterface
  10. {
  11.     // Define your configuration, if needed
  12.     private $config = [];
  13.     private $environment;
  14.     private $converter;
  15.     public function __construct(MarkdownConverter $converter null)
  16.     {
  17.         // Configure the Environment with all the CommonMark parsers/renderers
  18.         $this->environment = new Environment($this->config);
  19.         $this->environment->addExtension(new CommonMarkCoreExtension());
  20.         $this->environment->addExtension(new AttributesExtension());
  21.         $this->environment->addExtension(new DescriptionListExtension());
  22.         $this->converter $converter ?: new MarkdownConverter($this->environment);
  23.     }
  24.     public function convert(string $body): string
  25.     {
  26.         return $this->converter->convertToHtml($body);
  27.     }
  28. }