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 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 this
StrikethroughExtension
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 -
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
-
Method Summary
Modifier and TypeMethodDescriptionbuilder()
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)
-
Field Details
-
requireTwoTildes
private final boolean requireTwoTildes
-
-
Constructor Details
-
StrikethroughExtension
-
-
Method Details
-
create
- Returns:
- the extension with default options
-
builder
- Returns:
- a builder to configure the behavior of the extension
-
extend
- Specified by:
extend
in interfaceParser.ParserExtension
-
extend
- Specified by:
extend
in interfaceHtmlRenderer.HtmlRendererExtension
-
extend
- Specified by:
extend
in interfaceTextContentRenderer.TextContentRendererExtension
-
extend
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
-