主页 > 软件开发  > 

Java8适配的markdown转换html工具(FlexMark)

Java8适配的markdown转换html工具(FlexMark)
坐标地址: <dependency> <groupId>com.vladsch.flexmark</groupId> <artifactId>flexmark-all</artifactId> <version>0.60.0</version> </dependency>  工具类代码: import com.vladsch.flexmark.ext.tables.TablesExtension; import com.vladsch.flexmark.ext.toc.TocExtension; import com.vladsch.flexmark.html.HtmlRenderer; import com.vladsch.flexmark.parser.Parser; import com.vladsch.flexmark.util.ast.Document; import com.vladsch.flexmark.util.data.MutableDataSet; import com.vladsch.flexmark.util.misc.Extension; import java.util.Arrays; public class MarkdownUtil { private static MutableDataSet options = new MutableDataSet(); private static Parser parser; private static HtmlRenderer renderer; static { options.set(Parser.EXTENSIONS, Arrays.<Extension>asList(TocExtension.create(), TablesExtension.create())); parser = Parser.builder(options).build(); renderer = HtmlRenderer.builder(options).build(); } public static String markdownToHtml(String md) { Document document = parser.parse(md); return renderer.render(document); } } 工具类测试: public class Main { public static void main(String[] args) { String markdownContent = "# 一级标题\n" + "## 二级标题\n" + "### 三级标题\n" + "#### 四级标题\n" + "##### 五级标题\n" + "###### 六级标题\n" + "## 段落\n" + "这是一段普通的段落。\n" + "## 列表\n" + "### 无序列表\n" + "- 项目1\n" + "- 项目2\n" + "- 项目3\n" + "### 有序列表\n" + "1. 项目1\n" + "2. 项目2\n" + "3. 项目3\n" + "## 链接\n" + "[百度]( .baidu )\n" + "## 图片\n" + "![图片描述]( .baidu /img/bd_logo1.png)\n" + "## 表格\n" + "| 表头1 | 表头2 | 表头3 |\n" + "|-------|-------|-------|\n" + "| 单元格1 | 单元格2 | 单元格3 |\n" + "| 单元格4 | 单元格5 | 单元格6 |"; String html = MarkdownUtil.markdownToHtml(markdownContent); System.out.println(html); } } 输出结果:

标签:

Java8适配的markdown转换html工具(FlexMark)由讯客互联软件开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Java8适配的markdown转换html工具(FlexMark)