Java implementation of CommonMark for parsing markdown and rendering to HTML (core library)

Example:

import com.vladsch.flexmark.ast.Node;
import com.vladsch.flexmark.html.HtmlRenderer;
import com.vladsch.flexmark.parser.Parser;
import com.vladsch.flexmark.parser.ParserEmulationProfile;
import com.vladsch.flexmark.util.options.MutableDataSet;

class Main {
    static void main(String[] args) {
        MutableDataSet options = new MutableDataSet();
        //Optionally Select Emulation Profile: 
        //     COMMONMARK (default), FIXED_INDENT, KRAMDOWN, 
        //     MARKDOWN, GITHUB_DOC, MULTI_MARKDOWN, PEGDOWN
        // options.setFrom(ParserEmulationProfile.KRAMDOWN);
        
        // Optionally, tweak behavior
        options.set(HtmlRenderer.ESCAPE_HTML, true);
        
        Parser parser = Parser.builder(options).build();
        HtmlRenderer renderer = HtmlRenderer.builder(options).build();

        Node document = parser.parse("This is *Sparta*");
        renderer.render(document);  // "<p>This is <em>Sparta</em></p>\n"
    }
}        

See the following packages for details: