From 8355ef2303e15c628552360352a563bfeed2be55 Mon Sep 17 00:00:00 2001 From: Jan Calanog Date: Thu, 30 Jan 2025 15:58:19 +0100 Subject: [PATCH 1/4] Fix root links --- .../Myst/InlineParsers/DiagnosticLinkInlineParser.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Elastic.Markdown/Myst/InlineParsers/DiagnosticLinkInlineParser.cs b/src/Elastic.Markdown/Myst/InlineParsers/DiagnosticLinkInlineParser.cs index b69f82ee9..a4f47a2d6 100644 --- a/src/Elastic.Markdown/Myst/InlineParsers/DiagnosticLinkInlineParser.cs +++ b/src/Elastic.Markdown/Myst/InlineParsers/DiagnosticLinkInlineParser.cs @@ -149,7 +149,7 @@ public override bool Match(InlineProcessor processor, ref StringSlice slice) if (url.EndsWith(".md")) link.Url = Path.ChangeExtension(url, ".html"); // rooted links might need the configured path prefix to properly link - var prefix = processor.GetBuildContext().UrlPathPrefix; + var prefix = processor.GetBuildContext().UrlPathPrefix.TrimEnd('/'); if (url.StartsWith("/") && !string.IsNullOrWhiteSpace(prefix)) link.Url = $"{prefix}/{link.Url}"; From 796d754c1cd8824c62e65dc6e49f9239607f3ce6 Mon Sep 17 00:00:00 2001 From: Jan Calanog Date: Thu, 30 Jan 2025 16:01:21 +0100 Subject: [PATCH 2/4] Fix --- .../Myst/InlineParsers/DiagnosticLinkInlineParser.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Elastic.Markdown/Myst/InlineParsers/DiagnosticLinkInlineParser.cs b/src/Elastic.Markdown/Myst/InlineParsers/DiagnosticLinkInlineParser.cs index a4f47a2d6..975975459 100644 --- a/src/Elastic.Markdown/Myst/InlineParsers/DiagnosticLinkInlineParser.cs +++ b/src/Elastic.Markdown/Myst/InlineParsers/DiagnosticLinkInlineParser.cs @@ -149,9 +149,9 @@ public override bool Match(InlineProcessor processor, ref StringSlice slice) if (url.EndsWith(".md")) link.Url = Path.ChangeExtension(url, ".html"); // rooted links might need the configured path prefix to properly link - var prefix = processor.GetBuildContext().UrlPathPrefix.TrimEnd('/'); + var prefix = processor.GetBuildContext().UrlPathPrefix; if (url.StartsWith("/") && !string.IsNullOrWhiteSpace(prefix)) - link.Url = $"{prefix}/{link.Url}"; + link.Url = $"{prefix}{link.Url}"; if (!string.IsNullOrEmpty(anchor)) link.Url += $"#{anchor}"; From bfa6df31e27c65f8819f43b2b4ce91e53d967013 Mon Sep 17 00:00:00 2001 From: Jan Calanog Date: Thu, 30 Jan 2025 16:10:09 +0100 Subject: [PATCH 3/4] Update src/Elastic.Markdown/Myst/InlineParsers/DiagnosticLinkInlineParser.cs Co-authored-by: Martijn Laarman --- .../Myst/InlineParsers/DiagnosticLinkInlineParser.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Elastic.Markdown/Myst/InlineParsers/DiagnosticLinkInlineParser.cs b/src/Elastic.Markdown/Myst/InlineParsers/DiagnosticLinkInlineParser.cs index 975975459..9dc67d012 100644 --- a/src/Elastic.Markdown/Myst/InlineParsers/DiagnosticLinkInlineParser.cs +++ b/src/Elastic.Markdown/Myst/InlineParsers/DiagnosticLinkInlineParser.cs @@ -151,7 +151,7 @@ public override bool Match(InlineProcessor processor, ref StringSlice slice) // rooted links might need the configured path prefix to properly link var prefix = processor.GetBuildContext().UrlPathPrefix; if (url.StartsWith("/") && !string.IsNullOrWhiteSpace(prefix)) - link.Url = $"{prefix}{link.Url}"; + link.Url = $"{prefix.TrimEnd('/')}{link.Url}"; if (!string.IsNullOrEmpty(anchor)) link.Url += $"#{anchor}"; From bd3497af349b3d84be603771c54c5d22f91ac81b Mon Sep 17 00:00:00 2001 From: Jan Calanog Date: Thu, 30 Jan 2025 16:11:03 +0100 Subject: [PATCH 4/4] Update src/Elastic.Markdown/Myst/InlineParsers/DiagnosticLinkInlineParser.cs --- .../Myst/InlineParsers/DiagnosticLinkInlineParser.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Elastic.Markdown/Myst/InlineParsers/DiagnosticLinkInlineParser.cs b/src/Elastic.Markdown/Myst/InlineParsers/DiagnosticLinkInlineParser.cs index 9dc67d012..f24dc9fd8 100644 --- a/src/Elastic.Markdown/Myst/InlineParsers/DiagnosticLinkInlineParser.cs +++ b/src/Elastic.Markdown/Myst/InlineParsers/DiagnosticLinkInlineParser.cs @@ -151,7 +151,7 @@ public override bool Match(InlineProcessor processor, ref StringSlice slice) // rooted links might need the configured path prefix to properly link var prefix = processor.GetBuildContext().UrlPathPrefix; if (url.StartsWith("/") && !string.IsNullOrWhiteSpace(prefix)) - link.Url = $"{prefix.TrimEnd('/')}{link.Url}"; + link.Url = $"{prefix.TrimEnd('/')}/{link.Url}"; if (!string.IsNullOrEmpty(anchor)) link.Url += $"#{anchor}";