diff --git a/src/Elastic.Markdown/Myst/Directives/Image/ImageBlock.cs b/src/Elastic.Markdown/Myst/Directives/Image/ImageBlock.cs index 519611303..6e900b6db 100644 --- a/src/Elastic.Markdown/Myst/Directives/Image/ImageBlock.cs +++ b/src/Elastic.Markdown/Myst/Directives/Image/ImageBlock.cs @@ -68,6 +68,8 @@ public class ImageBlock(DirectiveBlockParser parser, ParserContext context) public string? Label { get; private set; } + private static readonly HashSet AllowedUriHosts = ["epr.elastic.co"]; + public override void FinalizeAndValidate(ParserContext context) { Label = Prop("label", "name"); @@ -98,7 +100,9 @@ private void ExtractImageUrl(ParserContext context) if (Uri.TryCreate(imageUrl, UriKind.Absolute, out var uri) && uri.Scheme.StartsWith("http")) { - this.EmitWarning($"{Directive} is using an external URI: {uri} "); + if (!AllowedUriHosts.Contains(uri.Host)) + this.EmitWarning($"{Directive} is using an external URI: {uri} "); + Found = true; ImageUrl = imageUrl; return;