使用commonmark和flexmark在Java中将Markdown格式文本转换成HTML格式文本
最近做的项目有将Markdown语法转换成HTML语法的这么一个需求
然鹅 自己写个Utils太麻烦了 为此找到了两个很实用的转换工具包:commonmark和flexmark
这两个转换工具包的使用方式非常相似 先引入依赖然后直接使用即可
✧ commonmark ✧
第一步:引入commonmark的依赖:
<dependency>
<groupId>com.atlassian.commonmark</groupId>
<artifactId>commonmark</artifactId>
<version>0.10.0</version>
</dependency>
第二步:直接使用即可:
import org.commonmark.node.Node;
import org.commonmark.parser.Parser;
import org.commonmark.renderer.html.HtmlRenderer;
/**
* @author Piconjo
*/
public class Markdown2Html {
public static String convert(String md) {
Parser parser = Parser.builder().build();
Node document = parser.parse(md);
HtmlRenderer renderer = HtmlRenderer.builder().build();
String html= renderer.render(document);
return html;
}
}
✧ flexmark ✧
第一步:引入flexmark的依赖:
<dependency>
<groupId>com.vladsch.flexmark</groupId>
<artifactId>flexmark-all</artifactId>
<version>0.50.42</version>
</dependency>
第二步:直接使用即可:
import com.vladsch.flexmark.html.HtmlRenderer;
import com.vladsch.flexmark.parser.Parser;
import com.vladsch.flexmark.util.ast.Node;
import com.vladsch.flexmark.util.data.MutableDataSet;
/**
* @author Piconjo
*/
public class Markdown2Html {
public static String convert(String md) {
MutableDataSet options = new MutableDataSet();
Parser parser = Parser.builder(options).build();
HtmlRenderer renderer = HtmlRenderer.builder(options).build();
Node document = parser.parse(md);
String html = renderer.render(document);
return html;
}
}
还没有评论,来说两句吧...