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

org.commonmark.ext.gfm.tables.TablesExtension Maven / Gradle / Ivy

There is a newer version: 0.17.0
Show newest version
package org.commonmark.ext.gfm.tables;

import org.commonmark.Extension;
import org.commonmark.ext.gfm.tables.internal.TableBlockParser;
import org.commonmark.ext.gfm.tables.internal.TableNodeRenderer;
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 tables using "|" pipes (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 tables are turned into {@link TableBlock} blocks. *

*/ public class TablesExtension implements Parser.ParserExtension, HtmlRenderer.HtmlRendererExtension { private TablesExtension() { } public static Extension create() { return new TablesExtension(); } @Override public void extend(Parser.Builder parserBuilder) { parserBuilder.customBlockParserFactory(new TableBlockParser.Factory()); } @Override public void extend(HtmlRenderer.Builder rendererBuilder) { rendererBuilder.nodeRendererFactory(new NodeRendererFactory() { @Override public NodeRenderer create(NodeRendererContext context) { return new TableNodeRenderer(context); } }); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy