tocy:为markdown文件生成toc

2020年11月18日 / 74次阅读 / Last Modified 2021年2月2日
开源项目

这是一个超简单的项目,也许以后会慢慢复杂一点点,但我会尽力保持它的简单性。当前代码量:30行(含空行和注释行)

TOC是指Table of Content,很多时候是指markdown文件的目录。如果有了这个TOC,在github上打开readme.md文件,就可以通过toc中的链接实现md文件的页内跳转。对于内容丰富的md文件来说,toc是必要的。

我的teapot项目就遇到的这个需求,本想随便找一个来用的,但生成toc实在比较简单,就干脆自己写一个吧。

项目地址:https://github.com/xinlin-z/tocy

使用:

$ python3 tocy.py README.md
* [Contents](#Contents)
* [tocy](#tocy)
* [usage](#usage)
* [revision](#revision)
* [test area](#test-area)
* [Test](#Test)
    * [header](#header)
        * [head 3](#head-3)
            * [head 4](#head-4)
                * [head 5](#head-5)
                    * [head 6](#head-6)
* [_abc](#_abc)
* [a & b & c](#a--b--c)
* [a       c](#a-------c)
* [a ( c )](#a--c-)
* [a(c)](#ac)
* [a.,.,!@#$%^&*().,.7](#a7)
* [*italic 12345*](#italic-12345)
* [**bold 12345**](#bold-12345)
* [_italic2 12345_](#italic2-12345)
* [__bold2 12345__](#bold2-12345)
* [~cross out~](#cross-out)
* [~~cross out 2~~](#cross-out-2)
* [**~bold cross out~**](#bold-cross-out)
* [__~~blod cross out 2~~__](#blod-cross-out-2)

toc内容默认会输出到stdout,您需要做的,copy and paste 这些 toc lines 到你的README.md中即可!

就这么简单!

20210119:支持标题行中的markdown syntax,即~*_符号。

20210114:fixup,在README.md中增加test area,方便测试。

20210108:增加了一点功能,过滤掉对4个空格开始的,以及```包裹起来的block,这些行中的#+不代表title。

-- EOF --

本文链接:https://www.pynote.net/archives/2832

留言区

您的电子邮箱地址不会被公开。 必填项已用*标注


前一篇:
后一篇:

More


©Copyright 麦新杰 Since 2019 Python笔记

go to top