业务需要
在编写 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