Skip to content

Commit 8a881b7

Browse files
authored
Support for non-standard list indents (vsch#447)
We needed list content indent = 3
1 parent c0313d6 commit 8a881b7

3 files changed

Lines changed: 5 additions & 1 deletion

File tree

flexmark-html2md-converter/src/main/java/com/vladsch/flexmark/html2md/converter/FlexmarkHtmlConverter.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ public class FlexmarkHtmlConverter {
7474
final public static DataKey<Character> UNORDERED_LIST_DELIMITER = new DataKey<>("UNORDERED_LIST_DELIMITER", '*');
7575
final public static DataKey<Integer> DEFINITION_MARKER_SPACES = new DataKey<>("DEFINITION_MARKER_SPACES", 3);
7676
final public static DataKey<Integer> MIN_SETEXT_HEADING_MARKER_LENGTH = new DataKey<>("MIN_SETEXT_HEADING_MARKER_LENGTH", 3);
77+
final public static DataKey<Integer> LIST_ITEM_INDENT = new DataKey<>("LIST_ITEM_INDENT", 4);
7778
final public static DataKey<String> CODE_INDENT = new DataKey<>("CODE_INDENT", " ");
7879
final public static DataKey<String> NBSP_TEXT = new DataKey<>("NBSP_TEXT", " ");
7980
final public static DataKey<String> EOL_IN_TITLE_ATTRIBUTE = new DataKey<>("EOL_IN_TITLE_ATTRIBUTE", " ");

flexmark-html2md-converter/src/main/java/com/vladsch/flexmark/html2md/converter/HtmlConverterOptions.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ public class HtmlConverterOptions implements MutableDataSetter {
5555
public char unorderedListDelimiter;
5656
public int definitionMarkerSpaces;
5757
public int minSetextHeadingMarkerLength;
58+
public int listItemIndent;
5859
public String codeIndent;
5960
public String eolInTitleAttribute;
6061
public String nbspText;
@@ -118,6 +119,7 @@ public HtmlConverterOptions(HtmlConverterOptions other) {
118119
unorderedListDelimiter = other.unorderedListDelimiter;
119120
definitionMarkerSpaces = other.definitionMarkerSpaces;
120121
minSetextHeadingMarkerLength = other.minSetextHeadingMarkerLength;
122+
listItemIndent = other.listItemIndent;
121123
codeIndent = other.codeIndent;
122124
eolInTitleAttribute = other.eolInTitleAttribute;
123125
nbspText = other.nbspText;
@@ -184,6 +186,7 @@ public HtmlConverterOptions(DataHolder options) {
184186
unorderedListDelimiter = FlexmarkHtmlConverter.UNORDERED_LIST_DELIMITER.get(options);
185187
definitionMarkerSpaces = FlexmarkHtmlConverter.DEFINITION_MARKER_SPACES.get(options);
186188
minSetextHeadingMarkerLength = Utils.minLimit(FlexmarkHtmlConverter.MIN_SETEXT_HEADING_MARKER_LENGTH.get(options), 3);
189+
listItemIndent = FlexmarkHtmlConverter.LIST_ITEM_INDENT.get(options);
187190
codeIndent = FlexmarkHtmlConverter.CODE_INDENT.get(options);
188191
eolInTitleAttribute = FlexmarkHtmlConverter.EOL_IN_TITLE_ATTRIBUTE.get(options);
189192
nbspText = FlexmarkHtmlConverter.NBSP_TEXT.get(options);

flexmark-html2md-converter/src/main/java/com/vladsch/flexmark/html2md/converter/internal/HtmlConverterCoreNodeRenderer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -799,7 +799,7 @@ private void handleListItem(HtmlNodeConverterContext context, HtmlMarkdownWriter
799799

800800
listState.itemCount++;
801801
CharSequence itemPrefix = listState.getItemPrefix(this.myHtmlConverterOptions);
802-
int count = myHtmlConverterOptions.listContentIndent ? itemPrefix.length() : 4;
802+
int count = myHtmlConverterOptions.listContentIndent ? itemPrefix.length() : myHtmlConverterOptions.listItemIndent;
803803
CharSequence childPrefix = RepeatedSequence.repeatOf(" ", count);
804804

805805
out.line().append(itemPrefix);

0 commit comments

Comments
 (0)