使用flexmark将MarkDown转为HTML

博客介绍了在Java中引入Markdown相关依赖的方法,给出了多个依赖的代码示例。还展示了新建工具类将Markdown语义文本转为HTML格式的代码,包含工具类的具体实现和方法说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 引入对应的依赖

            <!-- 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>    
  2. 新建工具类

    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);
         }
    }

     

转载于:https://www.cnblogs.com/fdzang/p/9556874.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值