Package org.commonmark.renderer.markdown
Class CoreMarkdownNodeRenderer
java.lang.Object
org.commonmark.node.AbstractVisitor
org.commonmark.renderer.markdown.CoreMarkdownNodeRenderer
- All Implemented Interfaces:
Visitor
,NodeRenderer
The node renderer that renders all the core nodes (comes last in the order of node renderers).
Note that while sometimes it would be easier to record what kind of syntax was used on parsing (e.g. ATX vs Setext
heading), this renderer is intended to also work for documents that were created by directly creating
Nodes
instead. So in order to support that, it sometimes needs to do a bit more work.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static class
private static class
Visits nodes to check if there are any soft or hard line breaks.private static class
private static class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final MarkdownNodeRendererContext
private final CharMatcher
private final CharMatcher
private final CharMatcher
If we're currently within aBulletList
orOrderedList
, this keeps the context of that list.private final Pattern
private final AsciiMatcher
private final CharMatcher
private final MarkdownWriter
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static boolean
contains
(String s, CharMatcher charMatcher) private static int
findMaxRunLength
(String needle, String s) void
Render the specified node.private static String
void
visit
(BlockQuote blockQuote) void
visit
(BulletList bulletList) void
void
void
void
visit
(FencedCodeBlock codeBlock) void
visit
(HardLineBreak hardLineBreak) void
void
void
visit
(HtmlInline htmlInline) void
void
visit
(IndentedCodeBlock indentedCodeBlock) void
void
void
visit
(OrderedList orderedList) void
void
visit
(SoftLineBreak softLineBreak) void
visit
(StrongEmphasis strongEmphasis) void
void
visit
(ThematicBreak thematicBreak) protected void
visitChildren
(Node parent) Visit the child nodes.private void
writeLinkLike
(String title, String destination, Node node, String opener) Methods inherited from class org.commonmark.node.AbstractVisitor
visit, visit, visit
-
Field Details
-
textEscape
-
textEscapeInHeading
-
linkDestinationNeedsAngleBrackets
-
linkDestinationEscapeInAngleBrackets
-
linkTitleEscapeInQuotes
-
orderedListMarkerPattern
-
context
-
writer
-
listHolder
If we're currently within aBulletList
orOrderedList
, this keeps the context of that list. It has a parent field so that it can represent a stack (for nested lists).
-
-
Constructor Details
-
CoreMarkdownNodeRenderer
-
-
Method Details
-
getNodeTypes
- Specified by:
getNodeTypes
in interfaceNodeRenderer
- Returns:
- the types of nodes that this renderer handles
-
render
Description copied from interface:NodeRenderer
Render the specified node.- Specified by:
render
in interfaceNodeRenderer
- Parameters:
node
- the node to render, will be an instance of one ofNodeRenderer.getNodeTypes()
-
visit
- Specified by:
visit
in interfaceVisitor
- Overrides:
visit
in classAbstractVisitor
-
visit
- Specified by:
visit
in interfaceVisitor
- Overrides:
visit
in classAbstractVisitor
-
visit
- Specified by:
visit
in interfaceVisitor
- Overrides:
visit
in classAbstractVisitor
-
visit
- Specified by:
visit
in interfaceVisitor
- Overrides:
visit
in classAbstractVisitor
-
visit
- Specified by:
visit
in interfaceVisitor
- Overrides:
visit
in classAbstractVisitor
-
visit
- Specified by:
visit
in interfaceVisitor
- Overrides:
visit
in classAbstractVisitor
-
visit
- Specified by:
visit
in interfaceVisitor
- Overrides:
visit
in classAbstractVisitor
-
visit
- Specified by:
visit
in interfaceVisitor
- Overrides:
visit
in classAbstractVisitor
-
visit
- Specified by:
visit
in interfaceVisitor
- Overrides:
visit
in classAbstractVisitor
-
visit
- Specified by:
visit
in interfaceVisitor
- Overrides:
visit
in classAbstractVisitor
-
visit
- Specified by:
visit
in interfaceVisitor
- Overrides:
visit
in classAbstractVisitor
-
visit
- Specified by:
visit
in interfaceVisitor
- Overrides:
visit
in classAbstractVisitor
-
visit
- Specified by:
visit
in interfaceVisitor
- Overrides:
visit
in classAbstractVisitor
-
visit
- Specified by:
visit
in interfaceVisitor
- Overrides:
visit
in classAbstractVisitor
-
visit
- Specified by:
visit
in interfaceVisitor
- Overrides:
visit
in classAbstractVisitor
-
visit
- Specified by:
visit
in interfaceVisitor
- Overrides:
visit
in classAbstractVisitor
-
visit
- Specified by:
visit
in interfaceVisitor
- Overrides:
visit
in classAbstractVisitor
-
visit
- Specified by:
visit
in interfaceVisitor
- Overrides:
visit
in classAbstractVisitor
-
visit
- Specified by:
visit
in interfaceVisitor
- Overrides:
visit
in classAbstractVisitor
-
visit
- Specified by:
visit
in interfaceVisitor
- Overrides:
visit
in classAbstractVisitor
-
visitChildren
Description copied from class:AbstractVisitor
Visit the child nodes.- Overrides:
visitChildren
in classAbstractVisitor
- Parameters:
parent
- the parent node whose children should be visited
-
findMaxRunLength
-
contains
-
repeat
-
getLines
-
writeLinkLike
-