
org.commonmark.ext.gfm.strikethrough.StrikethroughExtension Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of commonmark-ext-gfm-strikethrough Show documentation
Show all versions of commonmark-ext-gfm-strikethrough Show documentation
commonmark-java extension for GFM strikethrough using ~~ (GitHub Flavored Markdown)
package org.commonmark.ext.gfm.strikethrough;
import org.commonmark.Extension;
import org.commonmark.ext.gfm.strikethrough.internal.StrikethroughDelimiterProcessor;
import org.commonmark.ext.gfm.strikethrough.internal.StrikethroughNodeRenderer;
import org.commonmark.html.renderer.NodeRenderer;
import org.commonmark.html.renderer.NodeRendererContext;
import org.commonmark.html.renderer.NodeRendererFactory;
import org.commonmark.parser.Parser;
import org.commonmark.html.HtmlRenderer;
/**
* Extension for GFM strikethrough using ~~ (GitHub Flavored Markdown).
*
* Create it with {@link #create()} and then configure it on the builders
* ({@link org.commonmark.parser.Parser.Builder#extensions(Iterable)},
* {@link org.commonmark.html.HtmlRenderer.Builder#extensions(Iterable)}).
*
*
* The parsed strikethrough text regions are turned into {@link Strikethrough} nodes.
*
*/
public class StrikethroughExtension implements Parser.ParserExtension, HtmlRenderer.HtmlRendererExtension {
private StrikethroughExtension() {
}
public static Extension create() {
return new StrikethroughExtension();
}
@Override
public void extend(Parser.Builder parserBuilder) {
parserBuilder.customDelimiterProcessor(new StrikethroughDelimiterProcessor());
}
@Override
public void extend(HtmlRenderer.Builder rendererBuilder) {
rendererBuilder.nodeRendererFactory(new NodeRendererFactory() {
@Override
public NodeRenderer create(NodeRendererContext context) {
return new StrikethroughNodeRenderer(context);
}
});
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy