为 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 地址
为 github markdown 文件生成目录(toc)的更多相关文章
- 为Markdown文件生成目录
缘由 思路 效果 代码实现 缘由 Markdown源生文件源生不支持目录,目前比较主流的生成目录的方式(各式插件),都是转化为HTML文件.虽然HTML文件可以生成眼花缭乱的目录,但是修改起来又没有M ...
- GitHub README文件生成目录导航
效果 环境说明 [root@C61 ~]# cat /etc/redhat-release CentOS release 6.10 (Final) [root@C61 ~]# uname -a Lin ...
- Markdown自动生成目录
Markdown自动生成目录 使用npm语法生成 1.安装npm 2.安装doctoc插件 3.执行生成 参考 Markdown自动生成目录 使用npm语法生成 1.安装npm 我的系统是deepin ...
- 解析Markdown文件生成React组件文档
前言 最近做的项目使用了微前端框架single-spa. 对于这类微前端框架而言,通常有个utility应用,也就是公共应用,里面是各个子应用之间可以共用的一些公共组件或者方法. 对于一个团队而言,项 ...
- 对扫描的pdf文件生成目录
很多pdf文件是直接扫描生成的,于是它的内容都是一张张的图片,当然就更没有目录索引了. 有的时候想找某些内容,只能一点点的移动滚动条,非常不方便. 那么有什么方法能生成目录呢? 方法一:使用福昕pdf ...
- markdown自动生成侧边栏TOC /目录
http://blog.csdn.net/haleypku/article/details/51226704 此文可以只了解一下概念: http://i5ting.github.io/i5ting_z ...
- 几种编辑器的markdown-toc生成目录在github上的表现
Vscode vscode的markdown-toc插件的实现是比较好的, 目前发现的问题就只有在自动生成带链接目录的时候无法正确识别和生成一些特殊的字符. 例如: ▶ 这导致在标题中不能加入特殊字符 ...
- 为Github的README.md生成目录的小工具
1 概述 因为Github的README.md文件[TOC]不生效,因此封装了一个别人已封装好的JAR包供大家使用. 2 使用方法 用Java做的,只需要JDK11以上的环境: java -jar t ...
- Markdown 中的目录自动生成功能 TOC
目录 Markdown 中的目录自动生成功能 TOC 1. 标题一 1.1 标题二 1.标题二 2. 标题一 2.1 标题二 2.2 标题二 Markdown 中的目录自动生成功能 TOC 1. 标题 ...
随机推荐
- JsonLayout log4j2 json格式输出日志
如果日志输出时,想改变日志的输出形式为Json格式,可以在log4j2.xml中使用JsonLayout标签,使日志输出格式为Json格式. 前提需要Jackson的包,保证项目中包含jackson的 ...
- leetcode python 008
## 字符串转化为整数## 懒得自己做int0=63435435print(int(int0))
- https://www.cnblogs.com/wuyepiaoxue/p/5661194.html
https://www.cnblogs.com/wuyepiaoxue/p/5661194.html
- 6.移动端App安装包的测试用例
安装 安装手册是否规范,是否简洁,是否通俗易懂. 安装手册是否齐全,正确,有改动时,文档是否同步更新 直接复制安装程序到电脑上,能否正常安装 按安装手册给出的步骤进行安装,安装是否正确 查看在安装过程 ...
- linux command 3
#user 相关命令 #新创建一个oracle用户,这初始属于oinstall组,且同时让他也属于dba组.useradd oracle -g oinstall -G dba #删除指定用户 –r:是 ...
- 如何在Linux下添加函数库
如何为Linux增加库一. 静态库在Linux下的静态库是以.a为后缀的文件.1. 建静态库h1.c 源文件#include<stdio.h>void hello1(){printf(“t ...
- XXS level10
(1)进入第十关发现无突破口,尝试从url中的keyword入手,也行不通,但可以从页面源代码看到有三个参数是隐藏的 (2)查看PHP源代码 <?php ini_set("displa ...
- jquery绑定回车事件
//回车事件绑定 $(".left-content").keyup(function(event){ var theEvent = event || window.event; v ...
- 同一台电脑中同时安装oracle database 服务器端和oracle client 客户端时注意
如果在一台电脑中同时安装oracle的客户端和服务器端软件, 一定要先安装oracle database 服务端,并进行相应的配置 listener.ORA. 然后再去安装oracle client ...
- day04-Python的流程控制