diff --git a/src/Libraries/Microsoft.Extensions.DataIngestion.Markdig/MarkdownParser.cs b/src/Libraries/Microsoft.Extensions.DataIngestion.Markdig/MarkdownParser.cs
index 8ef2b27d152..5cb1b810e71 100644
--- a/src/Libraries/Microsoft.Extensions.DataIngestion.Markdig/MarkdownParser.cs
+++ b/src/Libraries/Microsoft.Extensions.DataIngestion.Markdig/MarkdownParser.cs
@@ -228,6 +228,10 @@ private static IngestionDocumentSection MapQuoteBlock(QuoteBlock quoteBlock, boo
{
content.Append(codeInline.Content);
}
+ else if (inline is HtmlInline htmlInline)
+ {
+ content.Append(htmlInline.Tag);
+ }
else
{
throw new NotSupportedException($"Inline type '{inline.GetType().Name}' is not supported.");
diff --git a/test/Libraries/Microsoft.Extensions.DataIngestion.Tests/Readers/MarkdownReaderTests.cs b/test/Libraries/Microsoft.Extensions.DataIngestion.Tests/Readers/MarkdownReaderTests.cs
index dce6d996821..583bad91d83 100644
--- a/test/Libraries/Microsoft.Extensions.DataIngestion.Tests/Readers/MarkdownReaderTests.cs
+++ b/test/Libraries/Microsoft.Extensions.DataIngestion.Tests/Readers/MarkdownReaderTests.cs
@@ -133,6 +133,32 @@ public async Task SupportsTablesWithImages()
Assert.Equal("Latest logo", img.AlternativeText);
}
+ [ConditionalFact]
+ public async Task SupportsInlineHtml()
+ {
+ string markdownContent = "This has [1] inline HTML.";
+
+ IngestionDocument document = await ReadAsync(markdownContent);
+
+ var paragraph = Assert.Single(document.EnumerateContent().OfType());
+ Assert.Equal("This has [1] inline HTML.", paragraph.Text);
+ Assert.Equal(markdownContent, paragraph.GetMarkdown());
+ }
+
+ [ConditionalFact]
+ public async Task SupportsMultipleInlineHtmlElements()
+ {
+ string markdownContent = """
+ Text with bold, italic, subscript, and superscript tags.
+ """;
+
+ IngestionDocument document = await ReadAsync(markdownContent);
+
+ var paragraph = Assert.Single(document.EnumerateContent().OfType());
+ Assert.Equal("Text with bold, italic, subscript, and superscript tags.", paragraph.Text);
+ Assert.Equal(markdownContent, paragraph.GetMarkdown());
+ }
+
private async Task ReadAsync(string content)
{
using MemoryStream stream = new(System.Text.Encoding.UTF8.GetBytes(content));