Interface HtmlNodeConverterContext

All Superinterfaces:
NodeContext<org.jsoup.nodes.Node,HtmlNodeConverterContext>
All Known Implementing Classes:
FlexmarkHtmlConverter.MainHtmlConverter, FlexmarkHtmlConverter.MainHtmlConverter.SubHtmlNodeConverter, HtmlNodeConverterSubContext

public interface HtmlNodeConverterContext extends NodeContext<org.jsoup.nodes.Node,HtmlNodeConverterContext>
The context for node rendering, including configuration and functionality for the node renderer to use.
  • Method Details

    • getMarkdown

      HtmlMarkdownWriter getMarkdown()
      Returns:
      the LineAppendable writer to use
    • delegateRender

      void delegateRender()
    • getSubContext

      @NotNull @NotNull HtmlNodeConverterContext getSubContext()
      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.
      Specified by:
      getSubContext in interface NodeContext<org.jsoup.nodes.Node,HtmlNodeConverterContext>
      Returns:
      a new rendering context with a given appendable for its output
    • getSubContext

      @NotNull @NotNull HtmlNodeConverterContext getSubContext(@Nullable @Nullable DataHolder options)
      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.
      Specified by:
      getSubContext in interface NodeContext<org.jsoup.nodes.Node,HtmlNodeConverterContext>
      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 @NotNull HtmlNodeConverterContext getSubContext(@Nullable @Nullable DataHolder options, @NotNull @NotNull ISequenceBuilder<?,?> builder)
      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.
      Specified by:
      getSubContext in interface NodeContext<org.jsoup.nodes.Node,HtmlNodeConverterContext>
      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
    • render

      void render(@NotNull @NotNull org.jsoup.nodes.Node node)
      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
    • renderChildren

      void renderChildren(@NotNull @NotNull org.jsoup.nodes.Node parent, boolean outputAttributes, @Nullable @Nullable Runnable prePopAction)
      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
    • getFormattingPhase

      HtmlConverterPhase getFormattingPhase()
      Returns:
      current rendering phase
    • getOptions

      @NotNull @NotNull DataHolder getOptions()
      Get the current rendering context DataHolder. These are the options passed or set on the FlexmarkHtmlConverter.builder() or passed to FlexmarkHtmlConverter.builder(DataHolder). To get the document options you should use getDocument() as the data holder.
      Specified by:
      getOptions in interface NodeContext<org.jsoup.nodes.Node,HtmlNodeConverterContext>
      Returns:
      the current renderer options DataHolder
    • getHtmlConverterOptions

      @NotNull @NotNull HtmlConverterOptions getHtmlConverterOptions()
      Returns:
      the HtmlConverterOptions for the context.
    • getDocument

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

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

      @Nullable @Nullable HtmlConverterState getState()
    • getReferenceUrlToReferenceMap

      @NotNull @NotNull HashMap<String,Reference> getReferenceUrlToReferenceMap()
    • getExternalReferences

      @NotNull @NotNull HashSet<Reference> getExternalReferences()
    • isTrace

      boolean isTrace()
    • getStateStack

      @NotNull @NotNull Stack<HtmlConverterState> getStateStack()
    • setTrace

      void setTrace(boolean trace)
    • parseMarkdown

      @NotNull Node parseMarkdown(@NotNull @NotNull String markdown)
    • getOrCreateReference

      @Nullable @Nullable Reference getOrCreateReference(@NotNull @NotNull String url, @NotNull @NotNull String text, @Nullable @Nullable String title)
    • resolveLink

      @NotNull @NotNull ResolvedLink resolveLink(@NotNull @NotNull LinkType linkType, @NotNull @NotNull CharSequence url, @Nullable @Nullable Boolean urlEncode)
    • resolveLink

      @NotNull @NotNull ResolvedLink resolveLink(@NotNull @NotNull LinkType linkType, @NotNull @NotNull CharSequence url, @Nullable @Nullable Attributes attributes, @Nullable @Nullable Boolean urlEncode)
    • getCurrentNode

      @Nullable @Nullable org.jsoup.nodes.Node getCurrentNode()
      Specified by:
      getCurrentNode in interface NodeContext<org.jsoup.nodes.Node,HtmlNodeConverterContext>
      Returns:
      the current node being rendered
    • pushState

      void pushState(@NotNull @NotNull org.jsoup.nodes.Node parent)
    • popState

      void popState(@Nullable @Nullable LineAppendable out)
    • excludeAttributes

      void excludeAttributes(String... excludes)
    • processAttributes

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

      int outputAttributes(@NotNull @NotNull LineAppendable out, @NotNull @NotNull String initialSep)
    • transferIdToParent

      void transferIdToParent()
    • transferToParentExcept

      void transferToParentExcept(String... excludes)
    • transferToParentOnly

      void transferToParentOnly(String... includes)
    • peek

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

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

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

      void skip()
    • next

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

      void skip(int skip)
    • processUnwrapped

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

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

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

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

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

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

      @NotNull @NotNull String processTextNodes(@NotNull @NotNull org.jsoup.nodes.Node node)
    • appendOuterHtml

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

      boolean isInlineCode()
    • setInlineCode

      void setInlineCode(boolean inlineCode)
    • escapeSpecialChars

      @NotNull @NotNull String escapeSpecialChars(@NotNull @NotNull String text)
    • prepareText

      @NotNull @NotNull String prepareText(@NotNull @NotNull String text)
    • prepareText

      @NotNull @NotNull String prepareText(@NotNull @NotNull String text, boolean inCode)
    • inlineCode

      void inlineCode(@NotNull @NotNull Runnable inlineRunnable)
    • processConditional

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

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