|
4 | 4 |
|
5 | 5 | use Aptoma\Twig\Extension\MarkdownEngine\PHPLeagueCommonMarkEngine; |
6 | 6 | use Aptoma\Twig\Extension\MarkdownEngineInterface; |
7 | | -use League\CommonMark\Block\Element\FencedCode; |
8 | | -use League\CommonMark\Block\Element\IndentedCode; |
9 | | -use League\CommonMark\Environment; |
10 | | -use League\CommonMark\Extension\HeadingPermalink\HeadingPermalinkExtension; |
11 | | -use League\CommonMark\Extension\Table\TableExtension; |
| 7 | +use League\CommonMark\EnvironmentInterface; |
12 | 8 | use League\CommonMark\GithubFlavoredMarkdownConverter; |
13 | | -use Spatie\CommonMarkHighlighter\FencedCodeRenderer; |
14 | | -use Spatie\CommonMarkHighlighter\IndentedCodeRenderer; |
15 | 9 |
|
16 | 10 | class CommonMarkEngineFactory |
17 | 11 | { |
18 | | - public static function create(): MarkdownEngineInterface |
19 | | - { |
20 | | - $supportedLanguages = [ |
21 | | - 'php', |
22 | | - 'http', # inside PSR-7 |
23 | | - ]; |
24 | | - |
25 | | - $config = [ |
26 | | - 'heading_permalink' => [ |
27 | | - 'id_prefix' => '', |
28 | | - 'fragment_prefix' => '', |
29 | | - 'insert' => 'after', |
30 | | - ], |
31 | | - ]; |
32 | | - |
33 | | - $environment = Environment::createCommonMarkEnvironment(); |
34 | | - $environment->mergeConfig($config); |
35 | | - $environment |
36 | | - ->addExtension(new TableExtension()) |
37 | | - ->addExtension(new HeadingPermalinkExtension()) |
38 | | - ->addBlockRenderer(FencedCode::class, new FencedCodeRenderer($supportedLanguages)) |
39 | | - ->addBlockRenderer(IndentedCode::class, new IndentedCodeRenderer($supportedLanguages)) |
40 | | - ; |
41 | | - |
| 12 | + public static function create( |
| 13 | + EnvironmentInterface $environment, |
| 14 | + ): MarkdownEngineInterface { |
42 | 15 | return new NullSafeCommonMarkEngine( |
43 | 16 | new PHPLeagueCommonMarkEngine( |
44 | 17 | new GithubFlavoredMarkdownConverter([], $environment) |
|
0 commit comments