為 github markdown 文件生成目錄(toc)


業務需要

在編寫 github 項目時,有時候會編寫各種 README.md 等 markdown 文件,但是 github 默認是沒有目錄的。

於是就自己寫了一個小工具。

markdown-toc

markdown-toc 可以用來生成 markdown 頁面的目錄,便於 github 頁面展現。

Features

  • Github Markdown 文件一鍵生成目錄

  • 支持 fluent 優雅的寫法

  • 支持多次生成

  • 支持重復標題的生成

  • 支持特殊字符的過濾

  • 支持指定不同的文件編碼

  • 支持文件夾的文件批量處理(可指定是否包含子文件夾文件)

  • 支持是否寫入文件,可返回目錄的內容,便於用戶自行處理

  • ...

環境依賴

JDK

JDK7+, 請確保 JDK 設置正確。

Maven

Jar 使用 Maven 進行統一管理。

快速入門

maven 引入

<dependency>
    <groupId>com.github.houbb</groupId>
    <artifactId>markdown-toc</artifactId>
    <version>1.0.2</version>
</dependency>

md 文件

本項目支持的 md 文件后綴名稱為 .md 或者 .markdown

快速開始

  • 單個文件
AtxMarkdownToc.newInstance().genTocFile(path);

其中 path 為 md 文件的路徑

  • 指定文件夾
AtxMarkdownToc.newInstance().genTocFile(path);

其中 path 為 md 文件的父類文件夾

屬性配置

  • 代碼示例
AtxMarkdownToc.newInstance()
                .charset("UTF-8")
                .write(true)
                .subTree(true);

屬性說明

序號 屬性 默認值 說明
1 charset UTF-8 文件編碼
2 write true 是否將 toc 寫入文件(默認寫入)
3 subTree true 是否包含子文件夾的文件(默認包含)

返回值說明

genTocFile() 返回 TocGen,genTocDir() 返回 List

  • TocGen 屬性說明
序號 屬性 類型 說明
1 filePath String 當前 md 的文件路徑
2 tocLines List 當前 md 文件對應的目錄內容

測試案例

單個文件-目錄生成測試案例

文件夾-目錄生成測試案例

github 地址

markdown-toc


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM