1 Commits

Author SHA1 Message Date
tparnell
17d69ac124 stop 2019-02-06 22:32:22 -05:00
3 changed files with 36 additions and 3 deletions

View File

@@ -62,7 +62,6 @@ namespace TerribleDev.Blog.Web.MarkExtension
private void RenderTargetAttribute(Uri uri, HtmlRenderer renderer, LinkInline linkInline)
{
linkInline.SetAttributes(new HtmlAttributes() { Properties = new List<KeyValuePair<string, string>>() { new KeyValuePair<string, string>("target", "_blank"), new KeyValuePair<string, string>("rel", "noopener"), } });
}

View File

@@ -0,0 +1,34 @@
using System;
using Markdig;
using Markdig.Renderers;
using Markdig.Renderers.Html.Inlines;
namespace TerribleDev.Blog.Web.MarkExtension
{
public class LinkConverter : IMarkdownExtension
{
private readonly Func<string, string> convertLink;
public LinkConverter(Func<string, string> convertLink)
{
this.convertLink = convertLink;
}
public void Setup(MarkdownPipelineBuilder pipeline)
{
}
public void Setup(MarkdownPipeline pipeline, IMarkdownRenderer renderer)
{
var htmlRenderer = renderer as HtmlRenderer;
if(htmlRenderer == null) return;
var inlineRenderer = htmlRenderer.ObjectRenderers.FindExact<LinkInlineRenderer>();
if(inlineRenderer == null) return;
inlineRenderer.TryWriters.Add((ren, inline) => {
return false;
inline.GetDynamicUrl =
});
}
}
}

View File

@@ -30,9 +30,9 @@ namespace TerribleDev.Blog.Web.MarkExtension
{
throw new Exception($"Error making link for {escapeUrl} @ {baseUrl}");
}
if(!parsedResult.IsAbsoluteUri && !escapeUrl.StartsWith("/"))
if(!escapeUrl.StartsWith("/"))
{
escapeUrl = $"/{baseUrl}/{escapeUrl}";
escapeUrl = $"{baseUrl}/{escapeUrl}";
}
renderer.WriteEscapeUrl($"{escapeUrl}{suffix}");
renderer.Write("\"");