|
11 | 11 | using Markdig.Extensions.CustomContainers; |
12 | 12 | using ServiceStack.IO; |
13 | 13 | using ServiceStack.Text; |
14 | | -using Markdig.Extensions.Diagrams; |
15 | 14 |
|
16 | 15 | namespace MyApp; |
17 | 16 |
|
@@ -375,45 +374,6 @@ public void Setup(MarkdownPipeline pipeline, IMarkdownRenderer renderer) |
375 | 374 | } |
376 | 375 | } |
377 | 376 |
|
378 | | -public class MermaidBlockRenderer(CodeBlockRenderer? underlyingRenderer = null) : HtmlObjectRenderer<CodeBlock> |
379 | | -{ |
380 | | - private readonly CodeBlockRenderer underlyingRenderer = underlyingRenderer ?? new CodeBlockRenderer(); |
381 | | - protected override void Write(HtmlRenderer renderer, CodeBlock obj) |
382 | | - { |
383 | | - if (obj is not FencedCodeBlock fencedCodeBlock || obj.Parser is not FencedCodeBlockParser parser) |
384 | | - { |
385 | | - underlyingRenderer.Write(renderer, obj); |
386 | | - return; |
387 | | - } |
388 | | - |
389 | | - var attributes = obj.TryGetAttributes() ?? new HtmlAttributes(); |
390 | | - attributes.AddClass("mermaid not-prose"); |
391 | | - var txt = GetContent(obj); |
392 | | - renderer |
393 | | - .Write("<pre") |
394 | | - .WriteAttributes(attributes) |
395 | | - .Write(">") |
396 | | - .Write(txt) |
397 | | - .WriteLine("</pre>"); |
398 | | - } |
399 | | - private static string GetContent(LeafBlock obj) |
400 | | - { |
401 | | - var code = new StringBuilder(); |
402 | | - foreach (var line in obj.Lines.Lines) |
403 | | - { |
404 | | - var slice = line.Slice; |
405 | | - if (slice.Text == null) |
406 | | - continue; |
407 | | - |
408 | | - var lineText = slice.Text.Substring(slice.Start, slice.Length); |
409 | | - code.AppendLine(); |
410 | | - code.Append(lineText); |
411 | | - } |
412 | | - |
413 | | - return code.ToString(); |
414 | | - } |
415 | | -} |
416 | | - |
417 | 377 | public class FilesCodeBlockRenderer(CodeBlockRenderer? underlyingRenderer = null) : HtmlObjectRenderer<CodeBlock> |
418 | 378 | { |
419 | 379 | private readonly CodeBlockRenderer underlyingRenderer = underlyingRenderer ?? new CodeBlockRenderer(); |
@@ -804,7 +764,6 @@ public void AddBuiltInContainers(string[]? exclude = null) |
804 | 764 | CodeBlocks = new() |
805 | 765 | { |
806 | 766 | ["files"] = origRenderer => new FilesCodeBlockRenderer(origRenderer), |
807 | | - ["mermaid"] = origRenderer => new MermaidBlockRenderer(origRenderer), |
808 | 767 | }; |
809 | 768 | BlockContainers = new() |
810 | 769 | { |
|
0 commit comments