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 Summary
Modifier and TypeMethodDescriptionvoidappendOuterHtml(@NotNull org.jsoup.nodes.Node node) void@NotNull StringescapeSpecialChars(@NotNull String text) voidexcludeAttributes(String... excludes) @Nullable org.jsoup.nodes.Node@NotNull org.jsoup.nodes.Document@NotNull HtmlConverterOptions@NotNull DataHolderGet the current rendering contextDataHolder.@Nullable ReferencegetOrCreateReference(@NotNull String url, @NotNull String text, @Nullable String title) @Nullable HtmlConverterStategetState()@NotNull Stack<HtmlConverterState> @NotNull HtmlNodeConverterContextCreates a child rendering context that can be used to collect rendered html text.@NotNull HtmlNodeConverterContextgetSubContext(@Nullable DataHolder options) Creates a child rendering context that can be used to collect rendered html text.@NotNull HtmlNodeConverterContextgetSubContext(@Nullable DataHolder options, @NotNull ISequenceBuilder<?, ?> builder) Creates a child rendering context that can be used to collect rendered html text.voidinlineCode(@NotNull Runnable inlineRunnable) booleanbooleanisTrace()@Nullable org.jsoup.nodes.Nodenext()@Nullable org.jsoup.nodes.Nodenext(int skip) intoutputAttributes(@NotNull LineAppendable out, @NotNull String initialSep) parseMarkdown(@NotNull String markdown) @Nullable org.jsoup.nodes.Nodepeek()@Nullable org.jsoup.nodes.Nodepeek(int skip) voidpopState(@Nullable LineAppendable out) @NotNull StringprepareText(@NotNull String text) @NotNull StringprepareText(@NotNull String text, boolean inCode) voidprocessAttributes(@NotNull org.jsoup.nodes.Node node) voidprocessConditional(@NotNull ExtensionConversion extensionConversion, @NotNull org.jsoup.nodes.Node node, @NotNull Runnable processNode) @NotNull StringprocessTextNodes(@NotNull org.jsoup.nodes.Node node) voidprocessTextNodes(@NotNull org.jsoup.nodes.Node node, boolean stripIdAttribute) voidprocessTextNodes(@NotNull org.jsoup.nodes.Node node, boolean stripIdAttribute, @NotNull CharSequence wrapText) voidprocessTextNodes(@NotNull org.jsoup.nodes.Node node, boolean stripIdAttribute, @Nullable CharSequence textPrefix, @Nullable CharSequence textSuffix) voidprocessUnwrapped(@NotNull org.jsoup.nodes.Node element) voidprocessWrapped(@NotNull org.jsoup.nodes.Node node, @Nullable Boolean isBlock, boolean escapeMarkdown) voidpushState(@NotNull org.jsoup.nodes.Node parent) voidrender(@NotNull org.jsoup.nodes.Node node) Render the specified node and its children using the configured renderers.voidrenderChildren(@NotNull org.jsoup.nodes.Node parent, boolean outputAttributes, @Nullable Runnable prePopAction) Render the children of the node, used by custom renderersvoidrenderDefault(@NotNull org.jsoup.nodes.Node node) @NotNull ResolvedLinkresolveLink(@NotNull LinkType linkType, @NotNull CharSequence url, @Nullable Attributes attributes, @Nullable Boolean urlEncode) @NotNull ResolvedLinkresolveLink(@NotNull LinkType linkType, @NotNull CharSequence url, @Nullable Boolean urlEncode) voidsetInlineCode(boolean inlineCode) voidsetTrace(boolean trace) voidskip()voidskip(int skip) voidvoidtransferToParentExcept(String... excludes) voidtransferToParentOnly(String... includes) voidwrapTextNodes(@NotNull org.jsoup.nodes.Node node, @NotNull CharSequence wrapText, boolean needSpaceAround)
-
Method Details
-
getMarkdown
HtmlMarkdownWriter getMarkdown()- Returns:
- the
LineAppendablewriter to use
-
delegateRender
void delegateRender() -
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:
getSubContextin interfaceNodeContext<org.jsoup.nodes.Node, HtmlNodeConverterContext>- Returns:
- a new rendering context with a given appendable for its output
-
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:
getSubContextin interfaceNodeContext<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:
getSubContextin interfaceNodeContext<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 renderedoutputAttributes- true if attributes should be outputprePopAction- runnable to run before popping state
-
getFormattingPhase
HtmlConverterPhase getFormattingPhase()- Returns:
- current rendering phase
-
getOptions
Get the current rendering contextDataHolder. These are the options passed or set on theFlexmarkHtmlConverter.builder()or passed toFlexmarkHtmlConverter.builder(DataHolder). To get the document options you should usegetDocument()as the data holder.- Specified by:
getOptionsin interfaceNodeContext<org.jsoup.nodes.Node, HtmlNodeConverterContext>- Returns:
- the current renderer options
DataHolder
-
getHtmlConverterOptions
- Returns:
- the
HtmlConverterOptionsfor the context.
-
getDocument
@NotNull @NotNull org.jsoup.nodes.Document getDocument()- Returns:
- the
Documentnode of the current context
-
getForDocument
-
getState
-
getReferenceUrlToReferenceMap
-
getExternalReferences
-
isTrace
boolean isTrace() -
getStateStack
-
setTrace
void setTrace(boolean trace) -
parseMarkdown
-
getOrCreateReference
-
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:
getCurrentNodein interfaceNodeContext<org.jsoup.nodes.Node, HtmlNodeConverterContext>- Returns:
- the current node being rendered
-
pushState
void pushState(@NotNull @NotNull org.jsoup.nodes.Node parent) -
popState
-
excludeAttributes
-
processAttributes
void processAttributes(@NotNull @NotNull org.jsoup.nodes.Node node) -
outputAttributes
-
transferIdToParent
void transferIdToParent() -
transferToParentExcept
-
transferToParentOnly
-
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
-
appendOuterHtml
void appendOuterHtml(@NotNull @NotNull org.jsoup.nodes.Node node) -
isInlineCode
boolean isInlineCode() -
setInlineCode
void setInlineCode(boolean inlineCode) -
escapeSpecialChars
-
prepareText
-
prepareText
-
inlineCode
-
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)
-