@@ -21,7 +21,7 @@ namespace Elastic.Markdown.Myst.Directives;
2121/// An HTML renderer for a <see cref="DirectiveBlock"/>.
2222/// </summary>
2323/// <seealso cref="HtmlObjectRenderer{CustomContainer}" />
24- public class DirectiveHtmlRenderer : HtmlObjectRenderer < DirectiveBlock >
24+ public class DirectiveHtmlRenderer ( MarkdownParser markdownParser ) : HtmlObjectRenderer < DirectiveBlock >
2525{
2626 protected override void Write ( HtmlRenderer renderer , DirectiveBlock directiveBlock )
2727 {
@@ -62,10 +62,10 @@ protected override void Write(HtmlRenderer renderer, DirectiveBlock directiveBlo
6262 if ( includeBlock . Literal )
6363 WriteLiteralIncludeBlock ( renderer , includeBlock ) ;
6464 else
65- WriteIncludeBlock ( renderer , includeBlock ) ;
65+ WriteIncludeBlock ( renderer , includeBlock , markdownParser ) ;
6666 return ;
6767 case SettingsBlock settingsBlock :
68- WriteSettingsBlock ( renderer , settingsBlock ) ;
68+ WriteSettingsBlock ( renderer , settingsBlock , markdownParser ) ;
6969 return ;
7070 default :
7171 // if (!string.IsNullOrEmpty(directiveBlock.Info) && !directiveBlock.Info.StartsWith('{'))
@@ -219,28 +219,24 @@ private static void WriteLiteralIncludeBlock(HtmlRenderer renderer, IncludeBlock
219219 }
220220 }
221221
222- private static void WriteIncludeBlock ( HtmlRenderer renderer , IncludeBlock block )
222+ private static void WriteIncludeBlock ( HtmlRenderer renderer , IncludeBlock block , MarkdownParser parser )
223223 {
224224 if ( ! block . Found || block . IncludePath is null )
225225 return ;
226226
227- var parser = new MarkdownParser ( block . Build , block . Context ) ;
228227 var snippet = block . Build . ReadFileSystem . FileInfo . New ( block . IncludePath ) ;
229228 var parentPath = block . Context . MarkdownSourcePath ;
230229 var document = parser . ParseSnippetAsync ( snippet , parentPath , block . Context . YamlFrontMatter , default ) . GetAwaiter ( ) . GetResult ( ) ;
231- var html = document . ToHtml ( MarkdownParser . Pipeline ) ;
230+ var html = document . ToHtml ( parser . Pipeline ) ;
232231 _ = renderer . Write ( html ) ;
233232 }
234233
235- private static void WriteSettingsBlock ( HtmlRenderer renderer , SettingsBlock block )
234+ private static void WriteSettingsBlock ( HtmlRenderer renderer , SettingsBlock block , MarkdownParser parser )
236235 {
237236 if ( ! block . Found || block . IncludePath is null )
238237 return ;
239238
240- var parser = new MarkdownParser ( block . Build , block . Context ) ;
241-
242239 var file = block . Build . ReadFileSystem . FileInfo . New ( block . IncludePath ) ;
243-
244240 YamlSettings ? settings ;
245241 try
246242 {
@@ -264,7 +260,7 @@ private static void WriteSettingsBlock(HtmlRenderer renderer, SettingsBlock bloc
264260 RenderMarkdown = s =>
265261 {
266262 var document = parser . ParseEmbeddedMarkdown ( s , block . IncludeFrom , block . Context . YamlFrontMatter ) ;
267- var html = document . ToHtml ( MarkdownParser . Pipeline ) ;
263+ var html = document . ToHtml ( parser . Pipeline ) ;
268264 return html ;
269265 }
270266 } ) ;
0 commit comments