using Markdig; using Markdig.Parsers.Inlines; using Markdig.Renderers; namespace MfGames.Markdown.Extensions; /// /// Translate `[[Bob]]` into `/bob/`. /// public class WikiLinkExtension : IMarkdownExtension { public WikiLinkExtension() : this(null) { } public WikiLinkExtension(WikiLinkOptions? options) { this.Options = options ?? new WikiLinkOptions(); } public WikiLinkOptions Options { get; set; } /// public void Setup(MarkdownPipelineBuilder pipeline) { WikiLinkInlineParser? parser = pipeline.InlineParsers .FindExact(); if (parser != null) { return; } parser = new WikiLinkInlineParser(this.Options); pipeline.InlineParsers.InsertBefore(parser); } /// public void Setup( MarkdownPipeline pipeline, IMarkdownRenderer renderer) { // No setup needed here because we're using LinkInline which does the // bulk of the work. } }