优秀的编程知识分享平台

网站首页 > 技术文章 正文

为 github markdown 文件生成目录(toc)

nanyue 2024-07-18 22:16:19 技术文章 12 ℃

业务需要

在编写 github 项目时,有时候会编写各种 README.md 等 markdown 文件,但是 github 默认是没有目录的。

于是就自己写了一个小工具。

markdown-toc

markdown-toc[1] 可以用来生成 markdown 页面的目录,便于 github 页面展现。

Features

?Github Markdown 文件一键生成目录?支持 fluent 优雅的写法?支持多次生成?支持重复标题的生成?支持特殊字符的过滤?支持指定不同的文件编码?支持文件夹的文件批量处理(可指定是否包含子文件夹文件)?支持是否写入文件,可返回目录的内容,便于用户自行处理?...

环境依赖

JDK

JDK7+, 请确保 JDK 设置正确。

Maven

Jar 使用 Maven[2] 进行统一管理。

快速入门

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 文件对应的目录内容

测试案例

单个文件-目录生成测试案例[3]

文件夹-目录生成测试案例[4]

github 地址

markdown-toc[5]

References

[1] markdown-toc: https://github.com/houbb/markdown-toc[2] Maven: http://maven.apache.org/[3] 单个文件-目录生成测试案例: https://github.com/houbb/markdown-toc/blob/release_1.0.2/src/test/java/com/github/houbb/markdown/toc/core/impl/AtxMarkdownTocFileTest.java[4] 文件夹-目录生成测试案例: https://github.com/houbb/markdown-toc/blob/release_1.0.2/src/test/java/com/github/houbb/markdown/toc/core/impl/AtxMarkdownTocDirTest.java[5] markdown-toc: https://github.com/houbb/markdown-toc

最近发表
标签列表