|
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