Class StrikethroughExtension
- java.lang.Object
-
- org.commonmark.ext.gfm.strikethrough.StrikethroughExtension
-
- All Implemented Interfaces:
Extension
,Parser.ParserExtension
,HtmlRenderer.HtmlRendererExtension
,MarkdownRenderer.MarkdownRendererExtension
,TextContentRenderer.TextContentRendererExtension
public class StrikethroughExtension extends java.lang.Object implements Parser.ParserExtension, HtmlRenderer.HtmlRendererExtension, TextContentRenderer.TextContentRendererExtension, MarkdownRenderer.MarkdownRendererExtension
Extension for GFM strikethrough using~
or~~
(GitHub Flavored Markdown).Example input:
~foo~ or ~~bar~~
Example output (HTML):
<del>foo</del> or <del>bar</del>
Create the extension with
create()
and then add it to the parser and renderer builders (Parser.Builder.extensions(Iterable)
,HtmlRenderer.Builder.extensions(Iterable)
).The parsed strikethrough text regions are turned into
Strikethrough
nodes.If you have another extension that only uses a single tilde (
~
) syntax, you will have to configure thisStrikethroughExtension
to only accept the double tilde syntax, like this:StrikethroughExtension.builder().requireTwoTildes(true).build();
If you don't do that, there's a conflict between the two extensions and you will get an
IllegalArgumentException
when constructing the parser.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
StrikethroughExtension.Builder
-
Field Summary
Fields Modifier and Type Field Description private boolean
requireTwoTildes
-
Constructor Summary
Constructors Modifier Constructor Description private
StrikethroughExtension(StrikethroughExtension.Builder builder)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static StrikethroughExtension.Builder
builder()
static Extension
create()
void
extend(Parser.Builder parserBuilder)
void
extend(HtmlRenderer.Builder rendererBuilder)
void
extend(MarkdownRenderer.Builder rendererBuilder)
Extend Markdown rendering, usually by registering custom node renderers usingMarkdownRenderer.Builder.nodeRendererFactory(org.commonmark.renderer.markdown.MarkdownNodeRendererFactory)
.void
extend(TextContentRenderer.Builder rendererBuilder)
-
-
-
Constructor Detail
-
StrikethroughExtension
private StrikethroughExtension(StrikethroughExtension.Builder builder)
-
-
Method Detail
-
create
public static Extension create()
- Returns:
- the extension with default options
-
builder
public static StrikethroughExtension.Builder builder()
- Returns:
- a builder to configure the behavior of the extension
-
extend
public void extend(Parser.Builder parserBuilder)
- Specified by:
extend
in interfaceParser.ParserExtension
-
extend
public void extend(HtmlRenderer.Builder rendererBuilder)
- Specified by:
extend
in interfaceHtmlRenderer.HtmlRendererExtension
-
extend
public void extend(TextContentRenderer.Builder rendererBuilder)
- Specified by:
extend
in interfaceTextContentRenderer.TextContentRendererExtension
-
extend
public void extend(MarkdownRenderer.Builder rendererBuilder)
Description copied from interface:MarkdownRenderer.MarkdownRendererExtension
Extend Markdown rendering, usually by registering custom node renderers usingMarkdownRenderer.Builder.nodeRendererFactory(org.commonmark.renderer.markdown.MarkdownNodeRendererFactory)
.- Specified by:
extend
in interfaceMarkdownRenderer.MarkdownRendererExtension
- Parameters:
rendererBuilder
- the renderer builder to extend
-
-