使用commonmark和flexmark在Java中将Markdown格式文本转换成HTML格式文本

淡淡的烟草味﹌ 2023-07-24 14:49 15阅读 0赞

最近做的项目有将Markdown语法转换成HTML语法的这么一个需求
然鹅 自己写个Utils太麻烦了 为此找到了两个很实用的转换工具包:commonmarkflexmark
这两个转换工具包的使用方式非常相似 先引入依赖然后直接使用即可

✧ commonmark ✧

第一步:引入commonmark的依赖:

  1. <dependency>
  2. <groupId>com.atlassian.commonmark</groupId>
  3. <artifactId>commonmark</artifactId>
  4. <version>0.10.0</version>
  5. </dependency>

第二步:直接使用即可:

  1. import org.commonmark.node.Node;
  2. import org.commonmark.parser.Parser;
  3. import org.commonmark.renderer.html.HtmlRenderer;
  4. /**
  5. * @author Piconjo
  6. */
  7. public class Markdown2Html {
  8. public static String convert(String md) {
  9. Parser parser = Parser.builder().build();
  10. Node document = parser.parse(md);
  11. HtmlRenderer renderer = HtmlRenderer.builder().build();
  12. String html= renderer.render(document);
  13. return html;
  14. }
  15. }

✧ flexmark ✧

第一步:引入flexmark的依赖:

  1. <dependency>
  2. <groupId>com.vladsch.flexmark</groupId>
  3. <artifactId>flexmark-all</artifactId>
  4. <version>0.50.42</version>
  5. </dependency>

第二步:直接使用即可:

  1. import com.vladsch.flexmark.html.HtmlRenderer;
  2. import com.vladsch.flexmark.parser.Parser;
  3. import com.vladsch.flexmark.util.ast.Node;
  4. import com.vladsch.flexmark.util.data.MutableDataSet;
  5. /**
  6. * @author Piconjo
  7. */
  8. public class Markdown2Html {
  9. public static String convert(String md) {
  10. MutableDataSet options = new MutableDataSet();
  11. Parser parser = Parser.builder(options).build();
  12. HtmlRenderer renderer = HtmlRenderer.builder(options).build();
  13. Node document = parser.parse(md);
  14. String html = renderer.render(document);
  15. return html;
  16. }
  17. }

使用测试:

在这里插入图片描述
在这里插入图片描述


发表评论

表情:
评论列表 (有 0 条评论,15人围观)

还没有评论,来说两句吧...

相关阅读