使用flexmark将MarkDown转为HTML
2024-10-21 04:07:57
引入对应的依赖
<!-- https://mvnrepository.com/artifact/com.vladsch.flexmark/flexmark -->
<dependency>
<groupId>com.vladsch.flexmark</groupId>
<artifactId>flexmark</artifactId>
<version>0.34.18</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.vladsch.flexmark/flexmark-util -->
<dependency>
<groupId>com.vladsch.flexmark</groupId>
<artifactId>flexmark-util</artifactId>
<version>0.34.18</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.vladsch.flexmark/flexmark-ext-tables -->
<dependency>
<groupId>com.vladsch.flexmark</groupId>
<artifactId>flexmark-ext-tables</artifactId>
<version>0.34.18</version>
</dependency>新建工具类
package com.fdzang.mblog.utils; import com.vladsch.flexmark.ast.Node;
import com.vladsch.flexmark.ext.tables.TablesExtension;
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; import java.util.Arrays; public class MarkDown2HtmlUtils {
/**
* 直接将markdown语义的文本转为html格式输出
* @param content markdown语义文本
* @return
*/
public static String markdown2Html(String content) {
String html = parse(content);
return html;
}
/**
* markdown to image
* @param content markdown contents
* @return parse html contents
*/
public static String parse(String content) {
MutableDataSet options = new MutableDataSet();
options.setFrom(ParserEmulationProfile.MARKDOWN);
//enable table parse!
options.set(Parser.EXTENSIONS, Arrays.asList(TablesExtension.create()));
Parser parser = Parser.builder(options).build();
HtmlRenderer renderer = HtmlRenderer.builder(options).build();
Node document = parser.parse(content);
return renderer.render(document);
}
}
最新文章
- 【sql】之查询昨天的记录
- 画一画javascript原型链
- 2、android Service 详细用法
- java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer)
- ubuntuPC机安装JLink驱动
- Perl 模块 Getopt::Std 和 Getopt::Long
- Android 进阶学习:事件分发机制全然解析,带你从源代码的角度彻底理解(上)
- clone函数
- linux下通过脚本实现自动重启程序的方法
- 【读书札记】建立第一个Web项目
- 【JAVASCRIPT】React + Redux
- C# 相对路径转绝对路径
- 剑指offer——二叉树的镜像
- LINK : fatal error LNK1104: cannot open file .exe&#39; 重开application Experience 服务即可
- The Little Prince-12/08
- Go sql insert update使用举例
- Java设计模式应用——适配器模式
- TX2-start 6 CPU kernel-开启高功耗模式
- Android 文件模式
- LeetCode——Longest Repeating Character Replacement