Class FlexmarkHtmlConverter.MainHtmlConverter

java.lang.Object
com.vladsch.flexmark.html2md.converter.HtmlNodeConverterSubContext
com.vladsch.flexmark.html2md.converter.FlexmarkHtmlConverter.MainHtmlConverter
All Implemented Interfaces:
HtmlNodeConverterContext, NodeContext<org.jsoup.nodes.Node,HtmlNodeConverterContext>
Enclosing class:
FlexmarkHtmlConverter

private class FlexmarkHtmlConverter.MainHtmlConverter extends HtmlNodeConverterSubContext
  • Field Details

    • document

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

      @NotNull private final Document myForDocument
    • renderers

      @NotNull private final @NotNull Map<String,HtmlNodeRendererHandler<?>> renderers
    • phasedFormatters

      @NotNull private final @NotNull List<PhasedHtmlNodeRenderer> phasedFormatters
    • renderingPhases

      @NotNull private final @NotNull Set<HtmlConverterPhase> renderingPhases
    • myOptions

      @NotNull private final @NotNull DataHolder myOptions
    • phase

      private HtmlConverterPhase phase
    • myHtmlConverterOptions

      @NotNull private final @NotNull HtmlConverterOptions myHtmlConverterOptions
    • specialCharsPattern

      @Nullable private final @Nullable Pattern specialCharsPattern
    • myStateStack

      @NotNull private final @NotNull Stack<HtmlConverterState> myStateStack
    • mySpecialCharsMap

      @NotNull private final @NotNull Map<String,String> mySpecialCharsMap
    • myState

      @Nullable private @Nullable HtmlConverterState myState
    • 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 HashMap<String,Reference> myReferenceUrlToReferenceMap
    • myExternalReferences

      @NotNull private final @NotNull HashSet<Reference> myExternalReferences
  • Constructor Details

    • MainHtmlConverter

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

    • getState

      public HtmlConverterState getState()
    • getReferenceUrlToReferenceMap

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

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

      public boolean isTrace()
    • getStateStack

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

      public void setTrace(boolean trace)
    • parseMarkdown

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

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

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

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

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

      @NotNull public @NotNull DataHolder getOptions()
      Description copied from interface: HtmlNodeConverterContext
      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 HtmlNodeConverterContext.getDocument() as the data holder.
      Returns:
      the current renderer options DataHolder
    • getHtmlConverterOptions

      @NotNull public @NotNull HtmlConverterOptions getHtmlConverterOptions()
      Returns:
      the HtmlConverterOptions for the context.
    • 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()
    • renderByPreviousHandler

      void renderByPreviousHandler(HtmlNodeConverterSubContext subContext)
    • 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
    • renderNode

      void renderNode(org.jsoup.nodes.Node node, HtmlNodeConverterSubContext subContext)
    • renderChildren

      public void renderChildren(@NotNull @NotNull org.jsoup.nodes.Node parent, boolean outputAttributes, 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(String... excludes)
    • processAttributes

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

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

      public void transferIdToParent()
    • transferToParentExcept

      public void transferToParentExcept(String... excludes)
    • transferToParentOnly

      public void transferToParentOnly(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 String dumpState()
    • processUnwrapped

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

      void processUnwrapped(HtmlNodeConverterSubContext context, org.jsoup.nodes.Node element)
    • processWrapped

      public void processWrapped(@NotNull @NotNull org.jsoup.nodes.Node node, @Nullable @Nullable 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 CharSequence wrapText)
    • processTextNodes

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

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

      @NotNull public @NotNull 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 Runnable inlineRunnable)
    • prepareText

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

      @NotNull public @NotNull String prepareText(@NotNull @NotNull String text, boolean inCode)
    • escapeSpecialChars

      @NotNull public @NotNull String escapeSpecialChars(@NotNull @NotNull String text)
    • processConditional

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

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