diff --git a/Directory.Packages.props b/Directory.Packages.props
index a8018c3..1bdb281 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -10,9 +10,9 @@
-
-
-
+
+
+
diff --git a/src/Cobalt.Core/Text/HtmlMarkdown.cs b/src/Cobalt.Core/Text/HtmlMarkdown.cs
index 806a752..35078fe 100644
--- a/src/Cobalt.Core/Text/HtmlMarkdown.cs
+++ b/src/Cobalt.Core/Text/HtmlMarkdown.cs
@@ -14,9 +14,11 @@ public static partial class HtmlMarkdown
{
private static readonly ReverseMarkdown.Converter ToMd = new(new ReverseMarkdown.Config
{
- UnknownTags = ReverseMarkdown.Config.UnknownTagsOption.PassThrough,
+ // ReverseMarkdown 6 moved these onto nested option objects (the old flat
+ // UnknownTags/RemoveComments are [Obsolete]); GithubFlavored stayed top-level.
+ Tags = { Unknown = ReverseMarkdown.Config.UnknownTagsOption.PassThrough },
GithubFlavored = true,
- RemoveComments = true,
+ Formatting = { RemoveComments = true },
});
private static readonly MarkdownPipeline MdPipeline =
diff --git a/tests/Cobalt.Core.Tests/Text/HtmlMarkdownTests.cs b/tests/Cobalt.Core.Tests/Text/HtmlMarkdownTests.cs
index bf72045..fc7bdc2 100644
--- a/tests/Cobalt.Core.Tests/Text/HtmlMarkdownTests.cs
+++ b/tests/Cobalt.Core.Tests/Text/HtmlMarkdownTests.cs
@@ -28,6 +28,18 @@ public void Empty_And_Null_Html_Become_Empty_Markdown()
Assert.Equal("", HtmlMarkdown.ToMarkdown(""));
}
+ [Fact]
+ public void Html_To_Markdown_Strips_Comments_And_Passes_Unknown_Tags_Through()
+ {
+ // Pins the two options carried across the ReverseMarkdown 6 config API migration:
+ // Formatting.RemoveComments strips HTML comments, and Tags.Unknown = PassThrough keeps an
+ // unsupported tag verbatim (so a lossy round-trip stays visible) rather than dropping it.
+ var md = HtmlMarkdown.ToMarkdown("
keep this
inner text");
+
+ Assert.DoesNotContain("drop me", md); // RemoveComments strips the comment
+ Assert.Contains("inner text", md); // PassThrough keeps the unknown tag as-is
+ }
+
[Fact]
public void Simple_Content_Round_Trips_Cleanly()
{