You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kw...@apache.org on 2023/02/11 08:47:16 UTC

[maven-doxia] 01/01: [DOXIA-693] Fix prefix for ordered list item prefixes

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

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

commit 3a8682d7fb83341ef867e3e6b31a1d59b0c5385b
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Sat Feb 11 09:47:09 2023 +0100

    [DOXIA-693] Fix prefix for ordered list item prefixes
---
 .../doxia/module/markdown/MarkdownMarkup.java      | 22 +++-------
 .../maven/doxia/module/markdown/MarkdownSink.java  | 51 ++++++++++------------
 .../doxia/module/markdown/MarkdownSinkTest.java    |  5 ++-
 3 files changed, 30 insertions(+), 48 deletions(-)

diff --git a/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownMarkup.java b/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownMarkup.java
index f77db838..854bfa2e 100644
--- a/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownMarkup.java
+++ b/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownMarkup.java
@@ -36,21 +36,6 @@ public interface MarkdownMarkup extends TextMarkup {
     String COMMENT_START = "<!-- ";
     String COMMENT_END = " -->";
 
-    /** numbering decimal markup char: '1' */
-    char NUMBERING = '1';
-
-    /** numbering lower alpha markup char: 'a' */
-    char NUMBERING_LOWER_ALPHA_CHAR = 'a';
-
-    /** numbering lower roman markup char: 'i' */
-    char NUMBERING_LOWER_ROMAN_CHAR = 'i';
-
-    /** numbering upper alpha markup char: 'A' */
-    char NUMBERING_UPPER_ALPHA_CHAR = 'A';
-
-    /** numbering upper roman markup char: 'I' */
-    char NUMBERING_UPPER_ROMAN_CHAR = 'I';
-
     /** page break markup char: '\f' */
     char PAGE_BREAK = '\f';
 
@@ -91,8 +76,11 @@ public interface MarkdownMarkup extends TextMarkup {
     /** Syntax for the link start: "](" */
     String LINK_START_2_MARKUP = "](";
 
-    /** Syntax for the list start: "-" */
-    String LIST_START_MARKUP = "-";
+    /** Syntax for the ordered list item: '1.' */
+    String LIST_ORDERED_ITEM_START_MARKUP = "1.";
+
+    /** Syntax for the unordered list item: "-" */
+    String LIST_UNORDERED_ITEM_START_MARKUP = "-";
 
     /** Syntax for the mono-spaced style end: "`" */
     String MONOSPACED_END_MARKUP = "`";
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 c5c7dcb1..2b06b15c 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
@@ -371,7 +371,7 @@ public class MarkdownSink extends AbstractTextSink implements MarkdownMarkup {
      */
     public void list() {
         listNestingIndent += " ";
-        listStyles.push(LIST_START_MARKUP);
+        listStyles.push(LIST_UNORDERED_ITEM_START_MARKUP);
         write(EOL);
     }
 
@@ -388,20 +388,16 @@ public class MarkdownSink extends AbstractTextSink implements MarkdownMarkup {
     /**
      * {@inheritDoc}
      */
+    @Override
     public void listItem() {
-        // if (!numberedList)
-        // write(EOL + listNestingIndent + "*");
-        // else
-        numberedListItem();
-        itemFlag = true;
+        orderedOrUnorderedListItem();
     }
 
     /**
      * {@inheritDoc}
      */
     public void listItem_() {
-        write(EOL);
-        itemFlag = false;
+        orderedOrUnorderedListItem_();
     }
 
     /** {@inheritDoc} */
@@ -409,25 +405,14 @@ public class MarkdownSink extends AbstractTextSink implements MarkdownMarkup {
         listNestingIndent += " ";
         write(EOL);
 
-        String style;
-        switch (numbering) {
-            case NUMBERING_UPPER_ALPHA:
-                style = String.valueOf(NUMBERING_UPPER_ALPHA_CHAR);
-                break;
-            case NUMBERING_LOWER_ALPHA:
-                style = String.valueOf(NUMBERING_LOWER_ALPHA_CHAR);
-                break;
-            case NUMBERING_UPPER_ROMAN:
-                style = String.valueOf(NUMBERING_UPPER_ROMAN_CHAR);
-                break;
-            case NUMBERING_LOWER_ROMAN:
-                style = String.valueOf(NUMBERING_LOWER_ROMAN_CHAR);
-                break;
-            case NUMBERING_DECIMAL:
-            default:
-                style = String.valueOf(NUMBERING);
+        // markdown only supports decimal numbering
+        if (numbering != NUMBERING_DECIMAL) {
+            LOGGER.warn(
+                    "Markdown only supports numbered item with decimal style ({}) but requested was style {}, falling back to decimal style",
+                    NUMBERING_DECIMAL,
+                    numbering);
         }
-
+        String style = LIST_ORDERED_ITEM_START_MARKUP;
         listStyles.push(style);
     }
 
@@ -445,15 +430,23 @@ public class MarkdownSink extends AbstractTextSink implements MarkdownMarkup {
      * {@inheritDoc}
      */
     public void numberedListItem() {
-        String style = listStyles.peek();
-        write(EOL + listNestingIndent + style + SPACE);
-        itemFlag = true;
+        orderedOrUnorderedListItem();
     }
 
     /**
      * {@inheritDoc}
      */
     public void numberedListItem_() {
+        orderedOrUnorderedListItem_();
+    }
+
+    private void orderedOrUnorderedListItem() {
+        String style = listStyles.peek();
+        write(EOL + listNestingIndent + style + SPACE);
+        itemFlag = true;
+    }
+
+    private void orderedOrUnorderedListItem_() {
         write(EOL);
         itemFlag = false;
     }
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 cac89ac5..f4158653 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
@@ -144,13 +144,14 @@ public class MarkdownSinkTest extends AbstractSinkTest {
 
     /** {@inheritDoc} */
     protected String getListBlock(String item) {
-        return EOL + EOL + Markup.SPACE + "" + MarkdownMarkup.LIST_START_MARKUP + "" + Markup.SPACE + item + EOL + EOL;
+        return EOL + EOL + Markup.SPACE + "" + MarkdownMarkup.LIST_UNORDERED_ITEM_START_MARKUP + "" + Markup.SPACE
+                + item + EOL + EOL;
     }
 
     /** {@inheritDoc} */
     protected String getNumberedListBlock(String item) {
         return EOL + EOL + Markup.SPACE + ""
-                + MarkdownMarkup.NUMBERING_LOWER_ROMAN_CHAR + ""
+                + MarkdownMarkup.LIST_ORDERED_ITEM_START_MARKUP + ""
                 + Markup.SPACE + item + EOL + EOL;
     }