This is an automated email from the ASF dual-hosted git repository.

kwin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-doxia.git


The following commit(s) were added to refs/heads/master by this push:
     new 52ace71c MarkdownSink: Only emit markupLineBreak if writer is not 
already in blank line.
52ace71c is described below

commit 52ace71c262f89ea5044a54b155abcacaede3dbd
Author: Konrad Windszus <[email protected]>
AuthorDate: Mon Mar 9 20:16:49 2026 +0100

    MarkdownSink: Only emit markupLineBreak if writer is not already in
    blank line.
---
 .../apache/maven/doxia/module/markdown/MarkdownSink.java   |  4 +++-
 .../maven/doxia/module/markdown/MarkdownSinkTest.java      | 14 ++++++++++++++
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git 
a/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownSink.java
 
b/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownSink.java
index fbc1d166..3a71b571 100644
--- 
a/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownSink.java
+++ 
b/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownSink.java
@@ -1300,7 +1300,9 @@ public class MarkdownSink extends Xhtml5BaseSink 
implements MarkdownMarkup {
     public void markupLineBreak(int indentLevel) {
         // not allowed in all contexts
         if (elementContextStack.element().isAllowsMarkupLinebreaks()) {
-            super.markupLineBreak(indentLevel);
+            if (!lineAwareWriter.isWriterAfterBlankLine()) {
+                super.markupLineBreak(indentLevel);
+            }
         }
     }
 
diff --git 
a/doxia-modules/doxia-module-markdown/src/test/java/org/apache/maven/doxia/module/markdown/MarkdownSinkTest.java
 
b/doxia-modules/doxia-module-markdown/src/test/java/org/apache/maven/doxia/module/markdown/MarkdownSinkTest.java
index d161f327..11c6d0e4 100644
--- 
a/doxia-modules/doxia-module-markdown/src/test/java/org/apache/maven/doxia/module/markdown/MarkdownSinkTest.java
+++ 
b/doxia-modules/doxia-module-markdown/src/test/java/org/apache/maven/doxia/module/markdown/MarkdownSinkTest.java
@@ -631,6 +631,20 @@ class MarkdownSinkTest extends AbstractSinkTest {
         assertEquals(expected, getSinkContent(), "Wrong metadata section");
     }
 
+    @Test
+    void insignificantWhitespaceAfterBlockElement() {
+        try (Sink sink = getSink()) {
+            sink.paragraph();
+            sink.text("paragraph");
+            sink.paragraph_();
+            sink.markupLineBreak(
+                    4); // this should be ignored as paragraph_() in markdown 
is already followed by a blank line
+            sink.text("text after insignificant whitespace");
+        }
+        String expected = "paragraph" + EOL + EOL + "text after insignificant 
whitespace";
+        assertEquals(expected, getSinkContent());
+    }
+
     @Test
     void listItemsContainingInsignificantWhitespace() {
         try (Sink sink = getSink()) {

Reply via email to