website/Website.Markdig.Extensions/BlogImageRendererExtension.cs

20 lines
709 B
C#

using Markdig;
using Markdig.Renderers;
using Markdig.Renderers.Html.Inlines;
namespace Website.Markdig.Extensions {
public class BlogRendererExtension : IMarkdownExtension {
public void Setup(MarkdownPipelineBuilder pipeline) {
}
public void Setup(MarkdownPipeline pipeline, IMarkdownRenderer renderer) {
var htmlRenderer = renderer as HtmlRenderer;
var originalRenderer = htmlRenderer.ObjectRenderers.FindExact<LinkInlineRenderer>();
if (originalRenderer != null)
htmlRenderer.ObjectRenderers.Remove(originalRenderer);
var blogRenderer = new BlogLinkAndImageRenderer(originalRenderer);
htmlRenderer.ObjectRenderers.AddIfNotAlready(blogRenderer);
}
}
}