Compare commits
1 Commits
razorActio
...
rsslinks
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
17d69ac124 |
@@ -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"), } });
|
||||
|
||||
}
|
||||
|
||||
34
src/TerribleDev.Blog.Web/MarkExtension/LinkConverter.cs
Normal file
34
src/TerribleDev.Blog.Web/MarkExtension/LinkConverter.cs
Normal 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 =
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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("\"");
|
||||
|
||||
Reference in New Issue
Block a user