twigphp / Twig

Twig, the flexible, fast, and secure template language for PHP
https://twig.symfony.com/
BSD 3-Clause "New" or "Revised" License
8.14k stars 1.25k forks source link

LeagueMarkdown converter is explicitly requiring CommonMarkConverter #3581

Open trickeyone opened 2 years ago

trickeyone commented 2 years ago

League CommonMark: v1.6.6 Twig Markdown-Extra: v3.3.3 Twig: v3.3.3

The LeagueMarkdown constructor is requiring the $converter parameter to explicitly be an instance of CommonMarkConverter, however with League CommonMark v1.6, the converter looks to have been split into two different instance types:

  1. MarkdownConverter
  2. CommonMarkConverter which extends MarkdownConverter

For our usage, we're needing to pass-in the $environment to the converter (GitHub flavor with some other slight modifications) So, with v1.6, we can't use CommonMarkConverter since it triggers a deprecation error:

Passing an $environment into the "League\CommonMark\CommonMarkConverter" constructor is deprecated in 1.6 and will not be supported in 2.0; use MarkdownConverter instead. See https://commonmark.thephpleague.com/2.0/upgrading/consumers/#commonmarkconverter-and-githubflavoredmarkdownconverter-constructors for more details.

Would it be possible to change the constructor for LeagueMarkdown to only require MarkdownConverter or maybe even just the ConverterInterface?

stof commented 2 years ago

Typehinting the MarkdownConverterInterface makes sense. Do you want to send a PR for that ?