Class FlexmarkHtmlConverter.MainHtmlConverter

    • Field Detail

      • document

        @NotNull
        private final @NotNull org.jsoup.nodes.Document document
      • myForDocument

        @NotNull
        private final Document myForDocument
      • renderers

        @NotNull
        private final @NotNull java.util.Map<java.lang.String,​HtmlNodeRendererHandler<?>> renderers
      • renderingPhases

        @NotNull
        private final @NotNull java.util.Set<HtmlConverterPhase> renderingPhases
      • myOptions

        @NotNull
        private final @NotNull DataHolder myOptions
      • myHtmlConverterOptions

        @NotNull
        private final @NotNull HtmlConverterOptions myHtmlConverterOptions
      • specialCharsPattern

        @Nullable
        private final @Nullable java.util.regex.Pattern specialCharsPattern
      • myStateStack

        @NotNull
        private final @NotNull java.util.Stack<HtmlConverterState> myStateStack
      • mySpecialCharsMap

        @NotNull
        private final @NotNull java.util.Map<java.lang.String,​java.lang.String> mySpecialCharsMap
      • myTrace

        private boolean myTrace
      • myInlineCode

        private boolean myInlineCode
      • myParser

        @Nullable
        private @Nullable Parser myParser
      • myHtmlLinkResolvers

        @NotNull
        private final @NotNull HtmlLinkResolver[] myHtmlLinkResolvers
      • myReferenceUrlToReferenceMap

        @NotNull
        private final @NotNull java.util.HashMap<java.lang.String,​Reference> myReferenceUrlToReferenceMap
      • myExternalReferences

        @NotNull
        private final @NotNull java.util.HashSet<Reference> myExternalReferences
    • Constructor Detail

      • MainHtmlConverter

        MainHtmlConverter​(@NotNull
                          @NotNull DataHolder options,
                          @NotNull
                          @NotNull HtmlMarkdownWriter out,
                          @NotNull
                          @NotNull org.jsoup.nodes.Document document,
                          @Nullable
                          @Nullable DataHolder parentOptions)
    • Method Detail

      • getReferenceUrlToReferenceMap

        @NotNull
        public @NotNull java.util.HashMap<java.lang.String,​Reference> getReferenceUrlToReferenceMap()
      • getExternalReferences

        @NotNull
        public @NotNull java.util.HashSet<Reference> getExternalReferences()
      • isTrace

        public boolean isTrace()
      • getStateStack

        @NotNull
        public @NotNull java.util.Stack<HtmlConverterState> getStateStack()
      • setTrace

        public void setTrace​(boolean trace)
      • parseMarkdown

        public @NotNull Node parseMarkdown​(@NotNull
                                           @NotNull java.lang.String markdown)
      • getOrCreateReference

        public Reference getOrCreateReference​(@NotNull
                                              @NotNull java.lang.String url,
                                              @NotNull
                                              @NotNull java.lang.String text,
                                              @Nullable
                                              @Nullable java.lang.String title)
      • resolveLink

        @NotNull
        public @NotNull ResolvedLink resolveLink​(@NotNull
                                                 @NotNull LinkType linkType,
                                                 @NotNull
                                                 @NotNull java.lang.CharSequence url,
                                                 java.lang.Boolean urlEncode)
      • resolveLink

        @NotNull
        public @NotNull ResolvedLink resolveLink​(@NotNull
                                                 @NotNull LinkType linkType,
                                                 @NotNull
                                                 @NotNull java.lang.CharSequence url,
                                                 Attributes attributes,
                                                 java.lang.Boolean urlEncode)
      • getCurrentNode

        @Nullable
        public @Nullable org.jsoup.nodes.Node getCurrentNode()
        Returns:
        the current node being rendered
      • getDocument

        @NotNull
        public @NotNull org.jsoup.nodes.Document getDocument()
        Returns:
        the Document node of the current context
      • getForDocument

        @Nullable
        public Document getForDocument()
        Returns:
        the Document node of the current context
      • getFormattingPhase

        public HtmlConverterPhase getFormattingPhase()
        Returns:
        current rendering phase
      • render

        public void render​(@NotNull
                           @NotNull org.jsoup.nodes.Node node)
        Description copied from interface: HtmlNodeConverterContext
        Render the specified node and its children using the configured renderers. This should be used to render child nodes; be careful not to pass the node that is being rendered, that would result in an endless loop.
        Parameters:
        node - the node to render
      • delegateRender

        public void delegateRender()
      • getSubContext

        @NotNull
        public @NotNull HtmlNodeConverterContext getSubContext()
        Description copied from interface: HtmlNodeConverterContext
        Creates a child rendering context that can be used to collect rendered html text. The child context inherits everything but the HtmlRenderer and doNotRenderLinksNesting from the parent.
        Returns:
        a new rendering context with a given appendable for its output
      • getSubContext

        @NotNull
        public @NotNull HtmlNodeConverterContext getSubContext​(@Nullable
                                                               @Nullable DataHolder options)
        Description copied from interface: HtmlNodeConverterContext
        Creates a child rendering context that can be used to collect rendered html text. The child context inherits everything but the HtmlRenderer and doNotRenderLinksNesting from the parent.
        Parameters:
        options - options to use for the context (only options which do not affect the context construction will be used)
        Returns:
        a new rendering context with a given appendable for its output
      • getSubContext

        @NotNull
        public @NotNull HtmlNodeConverterContext getSubContext​(@Nullable
                                                               @Nullable DataHolder options,
                                                               @NotNull
                                                               @NotNull ISequenceBuilder<?,​?> builder)
        Description copied from interface: HtmlNodeConverterContext
        Creates a child rendering context that can be used to collect rendered html text. The child context inherits everything but the HtmlRenderer and doNotRenderLinksNesting from the parent.
        Parameters:
        options - options to use for the context (only options which do not affect the context construction will be used)
        builder - sequence builder to user for appended text for tracking original base offsets
        Returns:
        a new rendering context with a given appendable for its output
      • renderChildren

        public void renderChildren​(@NotNull
                                   @NotNull org.jsoup.nodes.Node parent,
                                   boolean outputAttributes,
                                   java.lang.Runnable prePopAction)
        Description copied from interface: HtmlNodeConverterContext
        Render the children of the node, used by custom renderers
        Parameters:
        parent - node the children of which are to be rendered
        outputAttributes - true if attributes should be output
        prePopAction - runnable to run before popping state
      • pushState

        public void pushState​(@NotNull
                              @NotNull org.jsoup.nodes.Node parent)
      • excludeAttributes

        public void excludeAttributes​(java.lang.String... excludes)
      • processAttributes

        public void processAttributes​(@NotNull
                                      @NotNull org.jsoup.nodes.Node node)
      • outputAttributes

        public int outputAttributes​(@NotNull
                                    @NotNull LineAppendable out,
                                    @NotNull
                                    @NotNull java.lang.String initialSep)
      • transferIdToParent

        public void transferIdToParent()
      • transferToParentExcept

        public void transferToParentExcept​(java.lang.String... excludes)
      • transferToParentOnly

        public void transferToParentOnly​(java.lang.String... includes)
      • popState

        public void popState​(@Nullable
                             @Nullable LineAppendable out)
      • peek

        @Nullable
        public @Nullable org.jsoup.nodes.Node peek()
      • peek

        @Nullable
        public @Nullable org.jsoup.nodes.Node peek​(int skip)
      • next

        @Nullable
        public @Nullable org.jsoup.nodes.Node next()
      • skip

        public void skip()
      • next

        @Nullable
        public @Nullable org.jsoup.nodes.Node next​(int skip)
      • skip

        public void skip​(int skip)
      • dumpState

        private java.lang.String dumpState()
      • processUnwrapped

        public void processUnwrapped​(@NotNull
                                     @NotNull org.jsoup.nodes.Node element)
      • processWrapped

        public void processWrapped​(@NotNull
                                   @NotNull org.jsoup.nodes.Node node,
                                   @Nullable
                                   @Nullable java.lang.Boolean isBlock,
                                   boolean escapeMarkdown)
      • processTextNodes

        public void processTextNodes​(@NotNull
                                     @NotNull org.jsoup.nodes.Node node,
                                     boolean stripIdAttribute)
      • processTextNodes

        public void processTextNodes​(@NotNull
                                     @NotNull org.jsoup.nodes.Node node,
                                     boolean stripIdAttribute,
                                     @NotNull
                                     @NotNull java.lang.CharSequence wrapText)
      • processTextNodes

        public void processTextNodes​(@NotNull
                                     @NotNull org.jsoup.nodes.Node node,
                                     boolean stripIdAttribute,
                                     @Nullable
                                     @Nullable java.lang.CharSequence textPrefix,
                                     @Nullable
                                     @Nullable java.lang.CharSequence textSuffix)
      • wrapTextNodes

        public void wrapTextNodes​(@NotNull
                                  @NotNull org.jsoup.nodes.Node node,
                                  @NotNull
                                  @NotNull java.lang.CharSequence wrapText,
                                  boolean needSpaceAround)
      • processTextNodes

        @NotNull
        public @NotNull java.lang.String processTextNodes​(@NotNull
                                                          @NotNull org.jsoup.nodes.Node node)
      • appendOuterHtml

        public void appendOuterHtml​(@NotNull
                                    @NotNull org.jsoup.nodes.Node node)
      • isInlineCode

        public boolean isInlineCode()
      • setInlineCode

        public void setInlineCode​(boolean inlineCode)
      • inlineCode

        public void inlineCode​(@NotNull
                               @NotNull java.lang.Runnable inlineRunnable)
      • prepareText

        @NotNull
        public @NotNull java.lang.String prepareText​(@NotNull
                                                     @NotNull java.lang.String text)
      • prepareText

        @NotNull
        public @NotNull java.lang.String prepareText​(@NotNull
                                                     @NotNull java.lang.String text,
                                                     boolean inCode)
      • escapeSpecialChars

        @NotNull
        public @NotNull java.lang.String escapeSpecialChars​(@NotNull
                                                            @NotNull java.lang.String text)
      • processConditional

        public void processConditional​(@NotNull
                                       @NotNull ExtensionConversion extensionConversion,
                                       @NotNull
                                       @NotNull org.jsoup.nodes.Node node,
                                       @NotNull
                                       @NotNull java.lang.Runnable processNode)
      • renderDefault

        public void renderDefault​(@NotNull
                                  @NotNull org.jsoup.nodes.Node node)