Class FlexmarkHtmlConverter


  • public class FlexmarkHtmlConverter
    extends Object
    Renders a tree of nodes to HTML.

    Start with the builder() method to configure the renderer. Example:

    
     HtmlRenderer renderer = builder().escapeHtml(true).build();
     renderer.render(node);
     
    • Field Detail

      • FORMAT_FLAGS

        public static final com.vladsch.flexmark.util.data.DataKey<Integer> FORMAT_FLAGS
        output control for FormattingAppendable, see LineAppendable.setOptions(int)
      • MAX_BLANK_LINES

        public static final com.vladsch.flexmark.util.data.DataKey<Integer> MAX_BLANK_LINES
      • MAX_TRAILING_BLANK_LINES

        public static final com.vladsch.flexmark.util.data.DataKey<Integer> MAX_TRAILING_BLANK_LINES
      • LIST_CONTENT_INDENT

        public static final com.vladsch.flexmark.util.data.DataKey<Boolean> LIST_CONTENT_INDENT
      • SETEXT_HEADINGS

        public static final com.vladsch.flexmark.util.data.DataKey<Boolean> SETEXT_HEADINGS
      • OUTPUT_UNKNOWN_TAGS

        public static final com.vladsch.flexmark.util.data.DataKey<Boolean> OUTPUT_UNKNOWN_TAGS
      • TYPOGRAPHIC_QUOTES

        public static final com.vladsch.flexmark.util.data.DataKey<Boolean> TYPOGRAPHIC_QUOTES
      • TYPOGRAPHIC_SMARTS

        public static final com.vladsch.flexmark.util.data.DataKey<Boolean> TYPOGRAPHIC_SMARTS
      • EXTRACT_AUTO_LINKS

        public static final com.vladsch.flexmark.util.data.DataKey<Boolean> EXTRACT_AUTO_LINKS
      • OUTPUT_ATTRIBUTES_ID

        public static final com.vladsch.flexmark.util.data.DataKey<Boolean> OUTPUT_ATTRIBUTES_ID
      • OUTPUT_ATTRIBUTES_NAMES_REGEX

        public static final com.vladsch.flexmark.util.data.DataKey<String> OUTPUT_ATTRIBUTES_NAMES_REGEX
      • WRAP_AUTO_LINKS

        public static final com.vladsch.flexmark.util.data.DataKey<Boolean> WRAP_AUTO_LINKS
      • RENDER_COMMENTS

        public static final com.vladsch.flexmark.util.data.DataKey<Boolean> RENDER_COMMENTS
      • DOT_ONLY_NUMERIC_LISTS

        public static final com.vladsch.flexmark.util.data.DataKey<Boolean> DOT_ONLY_NUMERIC_LISTS
      • COMMENT_ORIGINAL_NON_NUMERIC_LIST_ITEM

        public static final com.vladsch.flexmark.util.data.DataKey<Boolean> COMMENT_ORIGINAL_NON_NUMERIC_LIST_ITEM
      • PRE_CODE_PRESERVE_EMPHASIS

        public static final com.vladsch.flexmark.util.data.DataKey<Boolean> PRE_CODE_PRESERVE_EMPHASIS
      • ORDERED_LIST_DELIMITER

        public static final com.vladsch.flexmark.util.data.DataKey<Character> ORDERED_LIST_DELIMITER
      • UNORDERED_LIST_DELIMITER

        public static final com.vladsch.flexmark.util.data.DataKey<Character> UNORDERED_LIST_DELIMITER
      • DEFINITION_MARKER_SPACES

        public static final com.vladsch.flexmark.util.data.DataKey<Integer> DEFINITION_MARKER_SPACES
      • MIN_SETEXT_HEADING_MARKER_LENGTH

        public static final com.vladsch.flexmark.util.data.DataKey<Integer> MIN_SETEXT_HEADING_MARKER_LENGTH
      • LIST_ITEM_INDENT

        public static final com.vladsch.flexmark.util.data.DataKey<Integer> LIST_ITEM_INDENT
      • CODE_INDENT

        public static final com.vladsch.flexmark.util.data.DataKey<String> CODE_INDENT
      • NBSP_TEXT

        public static final com.vladsch.flexmark.util.data.DataKey<String> NBSP_TEXT
      • EOL_IN_TITLE_ATTRIBUTE

        public static final com.vladsch.flexmark.util.data.DataKey<String> EOL_IN_TITLE_ATTRIBUTE
      • THEMATIC_BREAK

        public static final com.vladsch.flexmark.util.data.DataKey<String> THEMATIC_BREAK
      • UNWRAPPED_TAGS

        public static final com.vladsch.flexmark.util.data.DataKey<String[]> UNWRAPPED_TAGS
      • WRAPPED_TAGS

        public static final com.vladsch.flexmark.util.data.DataKey<String[]> WRAPPED_TAGS
      • OUTPUT_ID_ATTRIBUTE_REGEX

        public static final com.vladsch.flexmark.util.data.DataKey<String> OUTPUT_ID_ATTRIBUTE_REGEX
      • TABLE_MIN_SEPARATOR_COLUMN_WIDTH

        @Deprecated
        public static final com.vladsch.flexmark.util.data.DataKey<Integer> TABLE_MIN_SEPARATOR_COLUMN_WIDTH
        Deprecated.
      • TABLE_MIN_SEPARATOR_DASHES

        @Deprecated
        public static final com.vladsch.flexmark.util.data.DataKey<Integer> TABLE_MIN_SEPARATOR_DASHES
        Deprecated.
      • TABLE_LEAD_TRAIL_PIPES

        @Deprecated
        public static final com.vladsch.flexmark.util.data.DataKey<Boolean> TABLE_LEAD_TRAIL_PIPES
        Deprecated.
      • TABLE_SPACE_AROUND_PIPES

        @Deprecated
        public static final com.vladsch.flexmark.util.data.DataKey<Boolean> TABLE_SPACE_AROUND_PIPES
        Deprecated.
      • TABLE_CAPTION

        @Deprecated
        public static final com.vladsch.flexmark.util.data.DataKey<com.vladsch.flexmark.util.format.options.TableCaptionHandling> TABLE_CAPTION
        Deprecated.
      • LISTS_END_ON_DOUBLE_BLANK

        public static final com.vladsch.flexmark.util.data.DataKey<Boolean> LISTS_END_ON_DOUBLE_BLANK
      • DIV_AS_PARAGRAPH

        public static final com.vladsch.flexmark.util.data.DataKey<Boolean> DIV_AS_PARAGRAPH
      • BR_AS_PARA_BREAKS

        public static final com.vladsch.flexmark.util.data.DataKey<Boolean> BR_AS_PARA_BREAKS
      • BR_AS_EXTRA_BLANK_LINES

        public static final com.vladsch.flexmark.util.data.DataKey<Boolean> BR_AS_EXTRA_BLANK_LINES
      • DIV_TABLE_PROCESSING

        public static final com.vladsch.flexmark.util.data.DataKey<Boolean> DIV_TABLE_PROCESSING
      • DIV_TABLE_HDR_CLASSES

        public static final com.vladsch.flexmark.util.data.DataKey<String[]> DIV_TABLE_HDR_CLASSES
      • DIV_TABLE_ROW_CLASSES

        public static final com.vladsch.flexmark.util.data.DataKey<String[]> DIV_TABLE_ROW_CLASSES
      • DIV_TABLE_CELL_CLASSES

        public static final com.vladsch.flexmark.util.data.DataKey<String[]> DIV_TABLE_CELL_CLASSES
      • ADD_TRAILING_EOL

        public static final com.vladsch.flexmark.util.data.DataKey<Boolean> ADD_TRAILING_EOL
      • SKIP_HEADING_1

        public static final com.vladsch.flexmark.util.data.DataKey<Boolean> SKIP_HEADING_1
      • SKIP_HEADING_2

        public static final com.vladsch.flexmark.util.data.DataKey<Boolean> SKIP_HEADING_2
      • SKIP_HEADING_3

        public static final com.vladsch.flexmark.util.data.DataKey<Boolean> SKIP_HEADING_3
      • SKIP_HEADING_4

        public static final com.vladsch.flexmark.util.data.DataKey<Boolean> SKIP_HEADING_4
      • SKIP_HEADING_5

        public static final com.vladsch.flexmark.util.data.DataKey<Boolean> SKIP_HEADING_5
      • SKIP_HEADING_6

        public static final com.vladsch.flexmark.util.data.DataKey<Boolean> SKIP_HEADING_6
      • SKIP_ATTRIBUTES

        public static final com.vladsch.flexmark.util.data.DataKey<Boolean> SKIP_ATTRIBUTES
      • SKIP_FENCED_CODE

        public static final com.vladsch.flexmark.util.data.DataKey<Boolean> SKIP_FENCED_CODE
      • SKIP_CHAR_ESCAPE

        public static final com.vladsch.flexmark.util.data.DataKey<Boolean> SKIP_CHAR_ESCAPE
      • EXT_INLINE_STRONG

        public static final com.vladsch.flexmark.util.data.DataKey<ExtensionConversion> EXT_INLINE_STRONG
      • EXT_INLINE_EMPHASIS

        public static final com.vladsch.flexmark.util.data.DataKey<ExtensionConversion> EXT_INLINE_EMPHASIS
      • EXT_INLINE_CODE

        public static final com.vladsch.flexmark.util.data.DataKey<ExtensionConversion> EXT_INLINE_CODE
      • EXT_INLINE_DEL

        public static final com.vladsch.flexmark.util.data.DataKey<ExtensionConversion> EXT_INLINE_DEL
      • EXT_INLINE_INS

        public static final com.vladsch.flexmark.util.data.DataKey<ExtensionConversion> EXT_INLINE_INS
      • EXT_INLINE_SUB

        public static final com.vladsch.flexmark.util.data.DataKey<ExtensionConversion> EXT_INLINE_SUB
      • EXT_INLINE_SUP

        public static final com.vladsch.flexmark.util.data.DataKey<ExtensionConversion> EXT_INLINE_SUP
      • EXT_MATH

        public static final com.vladsch.flexmark.util.data.DataKey<ExtensionConversion> EXT_MATH
      • EXT_TABLES

        public static final com.vladsch.flexmark.util.data.DataKey<ExtensionConversion> EXT_TABLES
      • EXT_INLINE_LINK

        public static final com.vladsch.flexmark.util.data.DataKey<LinkConversion> EXT_INLINE_LINK
      • EXT_INLINE_IMAGE

        public static final com.vladsch.flexmark.util.data.DataKey<LinkConversion> EXT_INLINE_IMAGE
      • FOR_DOCUMENT

        public static final com.vladsch.flexmark.util.data.DataKey<com.vladsch.flexmark.util.misc.Ref<com.vladsch.flexmark.util.ast.Document>> FOR_DOCUMENT
      • TYPOGRAPHIC_REPLACEMENT_MAP

        public static final com.vladsch.flexmark.util.data.DataKey<Map<String,​String>> TYPOGRAPHIC_REPLACEMENT_MAP
      • DUMP_HTML_TREE

        public static final com.vladsch.flexmark.util.data.DataKey<Boolean> DUMP_HTML_TREE
        if true then will dump HTML tree of body element to console when using convert(String, Appendable)(String)
      • IGNORE_TABLE_HEADING_AFTER_ROWS

        public static final com.vladsch.flexmark.util.data.DataKey<Boolean> IGNORE_TABLE_HEADING_AFTER_ROWS
        If true then will ignore rows with th columns after rows with td columns have been emitted to the table.

        If false then will convert these to regular columns.

      • HEADING_NODES

        public static final String[] HEADING_NODES
      • EXPLICIT_LINK_TEXT_TAGS

        public static String[] EXPLICIT_LINK_TEXT_TAGS
      • TABLE_CELL_ALIGNMENT_MAP

        public static final com.vladsch.flexmark.util.data.DataKey<Map<Object,​com.vladsch.flexmark.util.html.CellAlignment>> TABLE_CELL_ALIGNMENT_MAP
      • NULL_ITERABLE

        public static final Iterable<org.jsoup.nodes.Node> NULL_ITERABLE
    • Method Detail

      • getOptions

        public com.vladsch.flexmark.util.data.DataHolder getOptions()
      • convert

        public void convert​(@NotNull
                            @NotNull String html,
                            @NotNull
                            @NotNull Appendable output)
        Render a node to the appendable
        Parameters:
        html - html to convert to markdown
        output - appendable to use for the output
      • convert

        public String convert​(@NotNull
                              @NotNull String html)
        Parse HTML with default options
        Parameters:
        html - html to be parsed
        Returns:
        resulting markdown string
      • convert

        public String convert​(@NotNull
                              @NotNull String html,
                              int maxTrailingBlankLines)
        Parse HTML with given options and max trailing blank lines
        Parameters:
        html - html to be parsed
        maxTrailingBlankLines - max trailing blank lines, -1 will suppress trailing EOL
        Returns:
        resulting markdown string
      • dumpHtmlTree

        public static void dumpHtmlTree​(com.vladsch.flexmark.util.sequence.LineAppendable out,
                                        org.jsoup.nodes.Node node)
      • convert

        public void convert​(org.jsoup.nodes.Node node,
                            Appendable output,
                            int maxTrailingBlankLines)
        Render a node to the appendable
        Parameters:
        node - node to render
        output - appendable to use for the output
        maxTrailingBlankLines - max blank lines allowed at end of output
      • convert

        public String convert​(org.jsoup.nodes.Node node)
        Render the tree of nodes to markdown
        Parameters:
        node - the root node
        Returns:
        the formatted markdown
      • processWrapped

        public static void processWrapped​(@NotNull
                                          @NotNull HtmlNodeConverterSubContext context,
                                          @NotNull
                                          @NotNull org.jsoup.nodes.Node node,
                                          @Nullable
                                          @Nullable Boolean isBlock,
                                          boolean escapeMarkdown)