All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.commonmark.ext.gfm.strikethrough.StrikethroughExtension Maven / Gradle / Ivy

There is a newer version: 0.17.0
Show newest version
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