diff --git a/src/Html2Markdown/Replacement/HtmlParser.cs b/src/Html2Markdown/Replacement/HtmlParser.cs index cc051ef5..27b46b76 100644 --- a/src/Html2Markdown/Replacement/HtmlParser.cs +++ b/src/Html2Markdown/Replacement/HtmlParser.cs @@ -68,6 +68,8 @@ private static string ReplaceList(string html) } markdownList.Add($"{listPrefix}{finalList}"); }); + + if (markdownList.Count == 0) return string.Empty; //If a new line is already ending the markdown item, then we don't need to add another one return Environment.NewLine + Environment.NewLine + markdownList.Aggregate((current, item) => current.EndsWith(Environment.NewLine) ? current + item : current + Environment.NewLine + item) + Environment.NewLine + Environment.NewLine; diff --git a/test/Html2Markdown.Test/CommonMarkSchemeConverterTest.Convert_WhenThereIsAnEmptyList_ThenRemoveTheList.verified.txt b/test/Html2Markdown.Test/CommonMarkSchemeConverterTest.Convert_WhenThereIsAnEmptyList_ThenRemoveTheList.verified.txt new file mode 100644 index 00000000..c1b8d743 --- /dev/null +++ b/test/Html2Markdown.Test/CommonMarkSchemeConverterTest.Convert_WhenThereIsAnEmptyList_ThenRemoveTheList.verified.txt @@ -0,0 +1 @@ +emptyString \ No newline at end of file diff --git a/test/Html2Markdown.Test/MarkdownSchemeConverterTest.Convert_WhenThereIsAnEmptyList_ThenRemoveTheList.verified.txt b/test/Html2Markdown.Test/MarkdownSchemeConverterTest.Convert_WhenThereIsAnEmptyList_ThenRemoveTheList.verified.txt new file mode 100644 index 00000000..c1b8d743 --- /dev/null +++ b/test/Html2Markdown.Test/MarkdownSchemeConverterTest.Convert_WhenThereIsAnEmptyList_ThenRemoveTheList.verified.txt @@ -0,0 +1 @@ +emptyString \ No newline at end of file diff --git a/test/Html2Markdown.Test/MarkdownSchemeConverterTest.cs b/test/Html2Markdown.Test/MarkdownSchemeConverterTest.cs index 680c8328..741cf656 100644 --- a/test/Html2Markdown.Test/MarkdownSchemeConverterTest.cs +++ b/test/Html2Markdown.Test/MarkdownSchemeConverterTest.cs @@ -660,6 +660,15 @@ public Task Convert_WhenThereAreMultipleUnorderedLists_ThenReplaceWithMarkdownLi return CheckConversion(html); } + + // See issue https://github.com/baynezy/Html2Markdown/issues/109 + [Test] + public Task Convert_WhenThereIsAnEmptyList_ThenRemoveTheList() + { + const string html = ""; + + return CheckConversion(html); + } #endregion