说明:
这是一个实现给本地 Markdown 文件添加标题编号的 python 脚本。可与 Markdown文件自动生成目录 搭配使用。
比如说你现在有一个 Markdown 文件,这个文件有很多级标题且标题没有编号,如图:
一个一个自己添加编号很麻烦,但有这个 python 脚本就可以不用愁了。
源代码:
1.首先,你需要安装好 python 解释器并配置好了环境变量。网上有很多教程,这里就不作介绍了。
2.然后,你需要将该 python 源程序与 Markdown 文件复制到同一个目录下(注意该目录要有写入权限,如果后面运行程序时报错显示没有写入权限,将文件复制到具有写入权限的目录即可,一般情况下桌面上的文件夹内即有写入权限):
3.接下来,你可以选择直接双击脚本开始运行(需要系统默认为用 python 解释器打开 .py 文件),或者通过 powershell、cmd、git 之类的命令行工具输入命令运行,下面以 powershell 为例演示:
在该文件夹下按住 shift
键并右击鼠标,在菜单中点击 在此处打开powershell窗口
(如果你希望使用 cmd 运行,在 py 文件所在文件夹的路径栏里输入 cmd 然后回车即可 ),如图:
因为我的 Markdown 文件文件名和 python 源文件名分别为 README.md
和 AddTitleNumber.py
,所以在进入 powershell 后,输入 python AddTitleNumber.py README.md
并按回车:
这时候会发现 powershell 中显示 文件已生成
,这说明文件生成成功了。回到文件夹下会发现新生成了一个文件:
这就是已经给标题编号了的 Markdown 文件,如图:
补充:
-
虽然程序具备处理特殊情况的能力,但为了尽可能避免特殊情况,建议使用时将 Markdown 文件中的标题分级、规范地写好。如果出现编号出错,请检查 Markdown 标题是否规范。如检查标题后确定没问题,可以到 GitHub 提 issue 或者直接在这里回复。
-
如果你的文件名包含空格,如
Getting start Java.md
,那么,你需要在输入命令时用引号将其括住,即输入python AddTitleNumber.py 'Getting start Java.md'
。如果遇到了其他正确输入文件名但提示未找到文件
的情况,可以尝试将文件重命名,如命名为 'readme.md',或者直接双击脚本运行。 -
现在一个已知的问题是程序可能会受到 python 行注释符号
#
的干扰而无法正常运行,后期可能会完善。 - 通过改变脚本中的即可控制 headline列表的值来控制哪些标题需要加序号,比如如果从二级标题开始标序号,那么可以把 headline 列表的值改成[##','###','####','#####','######'],即headline = ['##','###','####','#####','######']