Class MarkdownWriter
java.lang.Object
org.commonmark.renderer.markdown.MarkdownWriter
Writer for Markdown (CommonMark) text.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidblock()Enqueue a block separator to be written before the next text is written.charbooleanvoidline()Write a newline (line terminator).voidRemove the last prefix from the top of the stack.voidRemove the last raw escape from the top of the stack.voidpopTight()Remove the last "tight" setting from the top of the stack.voidpushPrefix(String prefix) Push a prefix onto the top of the stack.voidpushRawEscape(CharMatcher rawEscape) Escape the characters matching the supplied matcher, in all text (text and raw).voidpushTight(boolean tight) Change whether blocks are tight or loose.voidraw(char c) Write the supplied character (raw/unescaped except ifpushRawEscape(CharMatcher)was used).voidWrite the supplied string (raw/unescaped except ifpushRawEscape(CharMatcher)was used).voidtext(String s, CharMatcher escape) Write the supplied string with escaping.voidwritePrefix(String prefix) Write a prefix.
-
Constructor Details
-
MarkdownWriter
-
-
Method Details
-
raw
Write the supplied string (raw/unescaped except ifpushRawEscape(CharMatcher)was used). -
raw
public void raw(char c) Write the supplied character (raw/unescaped except ifpushRawEscape(CharMatcher)was used). -
text
Write the supplied string with escaping.- Parameters:
s- the string to writeescape- which characters to escape
-
line
public void line()Write a newline (line terminator). -
block
public void block()Enqueue a block separator to be written before the next text is written. Block separators are not written straight away because if there are no more blocks to write we don't want a separator (at the end of the document). -
pushPrefix
Push a prefix onto the top of the stack. All prefixes are written at the beginning of each line, until the prefix is popped again.- Parameters:
prefix- the raw prefix string
-
writePrefix
Write a prefix.- Parameters:
prefix- the raw prefix string to write
-
popPrefix
public void popPrefix()Remove the last prefix from the top of the stack. -
pushTight
public void pushTight(boolean tight) Change whether blocks are tight or loose. Loose is the default where blocks are separated by a blank line. Tight is where blocks are not separated by a blank line. Tight blocks are used in lists, if there are no blank lines within the list.Note that changing this does not affect block separators that have already been enqueued with
block(), only future ones. -
popTight
public void popTight()Remove the last "tight" setting from the top of the stack. -
pushRawEscape
Escape the characters matching the supplied matcher, in all text (text and raw). This might be useful to extensions that add another layer of syntax, e.g. the tables extension that uses `|` to separate cells and needs all `|` characters to be escaped (even in code spans).- Parameters:
rawEscape- the characters to escape in raw text
-
popRawEscape
public void popRawEscape()Remove the last raw escape from the top of the stack. -
getLastChar
public char getLastChar()- Returns:
- the last character that was written
-
isAtLineStart
-