最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java 解析Markdown文檔格式的兩種方式

 更新時間:2024年10月22日 09:26:02   作者:_江嶼_  
CommonMark和Flexmark是兩種用于解析Markdown文檔的Java庫,CommonMark提供了一種簡潔和一致的Markdown格式語法規(guī)范,但不支持目錄解析,而Flexmark是一個基于CommonMark的擴展庫,不僅遵循了CommonMark規(guī)范,還提供了更多靈活的API和擴展功能

方法一:CommonMark

1. 介紹

CommonMark是一個規(guī)范,定義了一種簡潔、一致的 Markdown 格式語法。它旨在提供一種標(biāo)準(zhǔn)的方式來解析和渲染 Markdown 文檔。

2. 使用教程

  • 引入Maven依賴
  • commonmark-ext-gfm-tables:用來實現(xiàn)表格的解析的依賴
 <dependency>
            <groupId>org.commonmark</groupId>
            <artifactId>commonmark</artifactId>
            <version>0.20.0</version>
        </dependency>
        <!-- 實現(xiàn)表格解析 -->
        <dependency>
            <groupId>org.commonmark</groupId>
            <artifactId>commonmark-ext-gfm-tables</artifactId>
            <version>0.20.0</version>
        </dependency>

JAVA代碼示例

    public static String parseMarkdownCommonmark(String markdownContent) {
        //解析表格
        List<Extension> extensions = Arrays.asList(TablesExtension.create());
        org.commonmark.parser.Parser parser = org.commonmark.parser.Parser.builder().extensions(extensions).build();
        Node document = parser.parse(markdownContent);
        org.commonmark.renderer.html.HtmlRenderer renderer = org.commonmark.renderer.html.HtmlRenderer.builder().extensions(extensions).build();
        return renderer.render(document);
    }

3. 問題

無法實現(xiàn)目錄的解析,也就是Markdown文檔中的[TOC],當(dāng)然Flexmark很好的解決了這個問題。

方法二:Flexmark

1. 介紹

Flexmark-Java是一個基于 CommonMark 規(guī)范的 Java 庫,用于解析和渲染 Markdown 文檔。它提供了一個靈活的、易于使用的 API,可以自定義解析和渲染的行為。

2. 使用示例

  • 引入Maven依賴
  • 最新版本為0.64.8,支持java11及更高,不支持java8
  <dependency>
            <groupId>com.vladsch.flexmark</groupId>
            <artifactId>flexmark-all</artifactId>
            <version>0.62.2</version>
            <scope>compile</scope>
        </dependency>

java代碼

public static String parseMarkdownFlexmark(String markdown) {
        MutableDataSet options = new MutableDataSet();
        //TOC目錄解析,表格解析
        options.set(Parser.EXTENSIONS, Arrays.asList(TocExtension.create(), TablesExtension.create()));
        Parser parser = Parser.builder(options).build();
        Document document = parser.parse(markdown);
        HtmlRenderer renderer = HtmlRenderer.builder(options).build();
        return renderer.render(document);
    }

到此這篇關(guān)于Java 解析Markdown文檔格式的文章就介紹到這了,更多相關(guān)Java Markdown文檔格式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 淺談Java絕對布局

    淺談Java絕對布局

    這篇文章主要介紹了Java當(dāng)中的絕對布局,還舉了一個簡單的實例,需要的朋友可以參考下。
    2017-08-08
  • SpringBoot參數(shù)驗證的幾種方式小結(jié)

    SpringBoot參數(shù)驗證的幾種方式小結(jié)

    在日常的接口開發(fā)中,為了防止非法參數(shù)對業(yè)務(wù)造成影響,經(jīng)常需要對接口的參數(shù)進行校驗,例如登錄的時候需要校驗用戶名和密碼是否為空,所以本文介紹了SpringBoot參數(shù)驗證的幾種方式,需要的朋友可以參考下
    2024-07-07
  • Java 數(shù)組(Array)存儲數(shù)據(jù)的“排排坐”(最新推薦)

    Java 數(shù)組(Array)存儲數(shù)據(jù)的“排排坐”(最新推薦)

    這篇文章主要介紹了Java 數(shù)組(Array)存儲數(shù)據(jù)的“排排坐”(最新推薦),本文通過實例代碼給大家介紹的非常詳細,感興趣的朋友一起看看吧
    2025-05-05
  • java遞歸實現(xiàn)漢諾塔步驟介紹

    java遞歸實現(xiàn)漢諾塔步驟介紹

    大家好,本篇文章主要講的是java遞歸實現(xiàn)漢諾塔步驟介紹,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • spring AMQP代碼生成rabbitmq的exchange and queue教程

    spring AMQP代碼生成rabbitmq的exchange and queue教程

    使用Spring AMQP代碼直接創(chuàng)建RabbitMQ exchange和queue,并確保綁定關(guān)系自動成立,簡化消息隊列配置,此經(jīng)驗分享供參考,歡迎支持腳本之家
    2025-08-08
  • springboot的類加載器(org.springframework.boot.loader)過程詳解

    springboot的類加載器(org.springframework.boot.loader)過程詳解

    這篇文章主要介紹了springboot的類加載器(org.springframework.boot.loader),本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • 全方位解讀JDK和JRE的區(qū)別及聯(lián)系

    全方位解讀JDK和JRE的區(qū)別及聯(lián)系

    這篇文章主要介紹了JDK和JRE的區(qū)別及聯(lián)系,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Java?System#exit無法退出程序的問題及解決

    Java?System#exit無法退出程序的問題及解決

    這篇文章主要介紹了Java?System#exit無法退出程序的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • SpringBoot集成logback打印彩色日志的代碼實現(xiàn)

    SpringBoot集成logback打印彩色日志的代碼實現(xiàn)

    Logback是由log4j創(chuàng)始人設(shè)計的另一個開源日志組件,默認情況下,Spring?Boot會用Logback來記錄日志,并用INFO級別輸出到控制臺,本文給大家介紹了SpringBoot集成logback打印彩色日志,需要的朋友可以參考下
    2024-03-03
  • 詳解MyBatis增刪改查SQL案例實戰(zhàn)

    詳解MyBatis增刪改查SQL案例實戰(zhàn)

    本文通過具體的SQL案例,詳細介紹了MyBatis的增刪改查操作,通過靈活的Mapper接口和XML配置,MyBatis能夠?qū)崿F(xiàn)高效的數(shù)據(jù)操作,同時支持動態(tài)SQL和批量操作,極大地提升了開發(fā)效率,感興趣的可以了解一下
    2026-03-03

最新評論

乐平市| 勐海县| 江川县| 朝阳县| 慈溪市| 清流县| 泰州市| 普定县| 阜宁县| 南陵县| 海口市| 夏河县| 喀喇| 清流县| 祁门县| 台湾省| 固始县| 安阳市| 星子县| 沙河市| 安陆市| 韶关市| 晋江市| 英德市| 高碑店市| 平乡县| 宜城市| 揭西县| 洛扎县| 临泽县| 浦城县| 邯郸市| 治多县| 邛崃市| 德惠市| 星子县| 阿鲁科尔沁旗| 延安市| 靖边县| 吉安县| 钦州市|