前序
markdown文档中,目次的格式是这样的。
比如正文中有个标题:
代码语言:javascript复制# 目次1
如果按照这样的格式写的话,则会显示成目次。
代码语言:javascript复制[标题](#标题链接)
显示效果如下:
目次1
具体的做法。
安装node.js。
从 https://nodejs.org/zh-cn/ 下载node.js,一路next,即可安装。
在dos界面下,输入:npm -v ,如果能回显出正确版本,则认为安装成功了。
注: npm是Node.js的包(代码模块)管理工具(package manager)。
全局安装doctoc插件
在字符界面下,或者vscode的终端下,运行下面命令。
字符界面:cmd、powershell都可以。
代码语言:txt复制 npm i doctoc -g //install 简写 i
以管理身份运行powershell,运行doctoc,生成目次
以 c:temptest.md 为例。
代码语言:shell复制cd c:temp
doctoc test.md
运行后效果如下:
PS C:UsersliugaDesktoptemp> doctoc .MDCreateFolder.mdDocToccing single file ".MDCreateFolder.md" for github.com.".MDCreateFolder.md" will be updated Everything is OK.
要注意的问题
- doctoc运行失败,报如下错误。
PS C:windowssystem32> doctoc doctoc : 无法加载文件 C:UsersliugaAppDataRoamingnpmdoctoc.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
- doctoc
CategoryInfo : SecurityError: (:) [],PSSecurityException
代码语言:txt复制 FullyQualifiedErrorId : UnauthorizedAccess
原因是权限问题,禁止运行脚本。
查看权限:
代码语言:javascript复制PS C:UsersliugaAppDataRoamingnpm> Get-ExecutionPolicy -Scope CurrentUser
Undefined
设置权限:
代码语言:javascript复制PS C:UsersliugaAppDataRoamingnpm> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
选“是”
这个问题请参考:
https://learn.microsoft.com/zh-cn/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.2