前言
在使用Markdown写文档时,如果文档内容很多,我们很可能需要给文档生成目录树和使用页内跳转。本文提供了实现这些功能的方法,并且已经在有道云笔记中测试通过。
Markdown目录树
想要给文档生成目录树,只需要在文档中增加[TOC]
,目录树就会根据文档中的h1~h6标题自动生成了。
注:
[TOC]
需要独占一行才能生效。比如:
……
[TOC]
……
页内跳转链接
Markdown会自动给每一个h1~h6标题生成一个锚,其id就是标题内容。目录树中的每一项都是一个跳转链接,点击后就会跳转到其对应的锚点(即标题所在位置)。你可以点击本文档开始处的目录树尝试一下。
如果需要在目录树之外还要增加跳转到某个标题的链接,则有两种办法可以做到:
1. 使用Markdown的语法来增加跳转链接:“[名称](#id)”。
2. 使用HTML语法来增加跳转链接:“<a href=”#id”>名称
其中的“名称”可以随便填写,“id”需要填写跳转到的标题的内容。例如如果想要增加一个到本文档“前言”标题的跳转链接,则需要这么写:
[使用Markdown语法增加的跳转到“前言”的链接](#前言)
效果:
使用Markdown语法增加的跳转到“前言”的链接
或者这么写:
<a href=”#前言”>使用HTML语法增加的跳转到“前言”的链接 效果:
使用HTML语法增加的跳转到“前言”的链接
自定义锚
假设我们想跳转到文档中的一个不是标题的位置(比如一张图表),则需要在该位置自定义一个锚。
我们使用HTML语法来定义一个锚。可选的HTML标签很多,比如<span>、<a>等等。本文使用<span>示例。
假设文档中有一个作息时间表,在文档的其他地方需要增加跳转到此表位置的链接,那么我们可以在此表的附近增加一行:
<span id=”表1”>名称
注:id为必填项;“名称”可以随便填写,也可以不填。另外,可以给span增加其他属性,比如颜色等等。
效果:
作息时间表
然后可以在文档其他位置增加一个跳转到它的链接了:
-
实现方法
- Step 1:定义位置标记
- 首先,要定义想让锚点去指定的位置标记(即这行代码:),其中“footer”只是自己设定的该位置名称,可以随意修改。
- Step 2:设置锚点链接
- 其次,将定义好的位置标记放到要跳转到的地方。 然后把锚点链接(即#footer)用像插入网页链接一样方式放在任意地方,当
- 时就会跳到位置标记所在的位置。
实现案例
- 1
<div id="Mark"></div>这句话定义了锚点所指定的位置标记,名字为“Mark”.
- 2
[这句话是想要跳转到Mark处的锚点链接,点击即会跳转](#Mark).
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通