APIdia Launch Partner
Top Description Inners Fields Constructors Methods
jdk.internal.org.commonmark.renderer.markdown

public Class MarkdownRenderer

extends Object
implements Renderer
Class Inheritance
All Implemented Interfaces
jdk.internal.org.commonmark.renderer.Renderer
Imports
jdk.internal.org.commonmark.Extension, jdk.internal.org.commonmark.internal.renderer.NodeRendererMap, jdk.internal.org.commonmark.node.Node, jdk.internal.org.commonmark.renderer.NodeRenderer, .Renderer, java.util.*

Renders nodes to Markdown (CommonMark syntax); use builder() to create a renderer.

Note that it doesn't currently preserve the exact syntax of the original input Markdown (if any):

However, it should produce Markdown that is semantically equivalent to the input, i.e. if the Markdown was parsed again and compared against the original AST, it should be the same (minus bugs).

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class
MarkdownRenderer.Builder

Builder for configuring a MarkdownRenderer.

public static interface
MarkdownRenderer.MarkdownRendererExtension

Extension for MarkdownRenderer for rendering custom nodes.

private class

Field Summary

Modifier and TypeField and Description
private final List<MarkdownNodeRendererFactory>

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static MarkdownRenderer.Builder

Returns:

a builder
builder
()

Create a new builder for configuring a MarkdownRenderer.

public void
render(Node node, Appendable output)

Implements jdk.internal.org.commonmark.renderer.Renderer.render.

Render the tree of nodes to output.

public String
render(Node node)

Implements jdk.internal.org.commonmark.renderer.Renderer.render.

Render the tree of nodes to string.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

nodeRendererFactoriesback to summary
private final List<MarkdownNodeRendererFactory> nodeRendererFactories

Constructor Detail

MarkdownRendererback to summary
private MarkdownRenderer(MarkdownRenderer.Builder builder)

Method Detail

builderback to summary
public static MarkdownRenderer.Builder builder()

Create a new builder for configuring a MarkdownRenderer.

Returns:MarkdownRenderer.Builder

a builder

renderback to summary
public void render(Node node, Appendable output)

Implements jdk.internal.org.commonmark.renderer.Renderer.render.

Doc from jdk.internal.org.commonmark.renderer.Renderer.render.

Render the tree of nodes to output.

Annotations
@Override
renderback to summary
public String render(Node node)

Implements jdk.internal.org.commonmark.renderer.Renderer.render.

Doc from jdk.internal.org.commonmark.renderer.Renderer.render.

Render the tree of nodes to string.

Annotations
@Override
jdk.internal.org.commonmark.renderer.markdown back to summary

public Class MarkdownRenderer.Builder

extends Object
Class Inheritance
  • java.lang.Object
  • jdk.internal.org.commonmark.renderer.markdown.MarkdownRenderer.Builder

Builder for configuring a MarkdownRenderer. See methods for default configuration.

Field Summary

Modifier and TypeField and Description
private final List<MarkdownNodeRendererFactory>

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public MarkdownRenderer
build()

Returns: the configured MarkdownRenderer

public MarkdownRenderer.Builder
extensions(Iterable<? extends Extension>
extensions to use on this renderer
extensions
)

Returns: this

public MarkdownRenderer.Builder

Returns:

this
nodeRendererFactory
(MarkdownNodeRendererFactory
the factory for creating a node renderer
nodeRendererFactory
)

Add a factory for instantiating a node renderer (done when rendering).

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

nodeRendererFactoriesback to summary
private final List<MarkdownNodeRendererFactory> nodeRendererFactories

Constructor Detail

Builderback to summary
public Builder()

Method Detail

buildback to summary
public MarkdownRenderer build()
Returns:MarkdownRenderer

the configured MarkdownRenderer

extensionsback to summary
public MarkdownRenderer.Builder extensions(Iterable<? extends Extension> extensions)
Parameters
extensions:Iterable<? extends Extension>

extensions to use on this renderer

Returns:MarkdownRenderer.Builder

this

nodeRendererFactoryback to summary
public MarkdownRenderer.Builder nodeRendererFactory(MarkdownNodeRendererFactory nodeRendererFactory)

Add a factory for instantiating a node renderer (done when rendering). This allows to override the rendering of node types or define rendering for custom node types.

If multiple node renderers for the same node type are created, the one from the factory that was added first "wins". (This is how the rendering for core node types can be overridden; the default rendering comes last.)

Parameters
nodeRendererFactory:MarkdownNodeRendererFactory

the factory for creating a node renderer

Returns:MarkdownRenderer.Builder

this

jdk.internal.org.commonmark.renderer.markdown back to summary

public Interface MarkdownRenderer.MarkdownRendererExtension

extends Extension
Known Direct Implementers
jdk.internal.org.commonmark.ext.gfm.tables.TablesExtension

Extension for MarkdownRenderer for rendering custom nodes.

Method Summary

Modifier and TypeMethod and Description
public void
extend(MarkdownRenderer.Builder
the renderer builder to extend
rendererBuilder
)

Extend Markdown rendering, usually by registering custom node renderers using Builder#nodeRendererFactory.

Method Detail

extendback to summary
public void extend(MarkdownRenderer.Builder rendererBuilder)

Extend Markdown rendering, usually by registering custom node renderers using Builder#nodeRendererFactory.

Parameters
rendererBuilder:MarkdownRenderer.Builder

the renderer builder to extend

jdk.internal.org.commonmark.renderer.markdown back to summary

private Class MarkdownRenderer.RendererContext

extends Object
implements MarkdownNodeRendererContext
Class Inheritance
  • java.lang.Object
  • jdk.internal.org.commonmark.renderer.markdown.MarkdownRenderer.RendererContext
All Implemented Interfaces
jdk.internal.org.commonmark.renderer.markdown.MarkdownNodeRendererContext

Field Summary

Modifier and TypeField and Description
private final Set<Character>
private final NodeRendererMap
private final MarkdownWriter

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public Set<Character>
public MarkdownWriter
public void
render(Node node)

Implements jdk.internal.org.commonmark.renderer.markdown.MarkdownNodeRendererContext.render.

Render the specified node and its children using the configured renderers.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

additionalTextEscapesback to summary
private final Set<Character> additionalTextEscapes
nodeRendererMapback to summary
private final NodeRendererMap nodeRendererMap
writerback to summary
private final MarkdownWriter writer

Constructor Detail

RendererContextback to summary
private RendererContext(MarkdownWriter writer)

Method Detail

getSpecialCharactersback to summary
public Set<Character> getSpecialCharacters()

Implements jdk.internal.org.commonmark.renderer.markdown.MarkdownNodeRendererContext.getSpecialCharacters.

Annotations
@Override
getWriterback to summary
public MarkdownWriter getWriter()

Implements jdk.internal.org.commonmark.renderer.markdown.MarkdownNodeRendererContext.getWriter.

Annotations
@Override
renderback to summary
public void render(Node node)

Implements jdk.internal.org.commonmark.renderer.markdown.MarkdownNodeRendererContext.render.

Doc from jdk.internal.org.commonmark.renderer.markdown.MarkdownNodeRendererContext.render.

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.

Annotations
@Override