4949use League \CommonMark \Extension \CommonMark \Renderer \Inline \EmphasisRenderer ;
5050use League \CommonMark \Extension \CommonMark \Renderer \Inline \HtmlInlineRenderer ;
5151use League \CommonMark \Extension \CommonMark \Renderer \Inline \StrongRenderer ;
52+ use League \CommonMark \Extension \ExternalLink \ExternalLinkExtension ;
53+ use League \CommonMark \Extension \HeadingPermalink \HeadingPermalinkExtension ;
54+ use League \CommonMark \MarkdownConverterInterface ;
5255use League \CommonMark \Node \Block \Document ;
5356use League \CommonMark \Node \Block \Paragraph ;
5457use League \CommonMark \Node \Inline \Newline ;
@@ -137,7 +140,8 @@ private function registerViewFinder(): void
137140 private function registerCommonMarkEnvironment (): void
138141 {
139142 /** @var \League\CommonMark\Environment\Environment */
140- $ environment = $ this ->app ->get ('markdown.environment ' );
143+ $ environment = app (MarkdownConverterInterface::class)->getEnvironment ();
144+
141145 $ environment ->addRenderer (FencedCode::class, new FencedCodeRenderer ());
142146
143147 $ environment ->addBlockStartParser (new BlockQuoteStartParser (), 70 );
@@ -193,6 +197,9 @@ private function registerCommonMarkEnvironment(): void
193197 $ environment ->addRenderer ($ interface , resolve ($ implementation ), 0 );
194198 }
195199
200+ $ environment ->addExtension (new ExternalLinkExtension ());
201+ $ environment ->addExtension (new HeadingPermalinkExtension ());
202+
196203 $ environment ->mergeConfig ([
197204 'external_link ' => [
198205 'internal_hosts ' => config ('app.url ' ),
@@ -202,13 +209,18 @@ private function registerCommonMarkEnvironment(): void
202209 'noopener ' => 'external ' ,
203210 'noreferrer ' => 'external ' ,
204211 ],
212+
213+
205214 'heading_permalink ' => [
206215 'html_class ' => 'heading-permalink ' ,
207216 'id_prefix ' => 'user-content ' ,
208217 'insert ' => 'before ' ,
209218 'title ' => 'Permalink ' ,
210219 'symbol ' => '# ' ,
211- 'slug_normalizer ' => new SlugNormalizer (),
220+ ],
221+
222+ 'slug_normalizer ' => [
223+ 'instance ' => new SlugNormalizer (),
212224 ],
213225 ]);
214226 }
0 commit comments