我正在编写一个大型Markdown文档,并希望在开始时放置一个目录,将提供到文档中各个位置的链接。我该怎么做呢?
我试着用:
[a link](# MyTitle)
其中MyTitle是文档中的一个标题,但这不起作用。
我正在编写一个大型Markdown文档,并希望在开始时放置一个目录,将提供到文档中各个位置的链接。我该怎么做呢?
我试着用:
[a link](# MyTitle)
其中MyTitle是文档中的一个标题,但这不起作用。
当前回答
在Markdown规范中没有这样的指令,抱歉。
其他回答
只需遵循[text](#link)语法并遵循以下指导原则:
把字母和数字原封不动地写下来 用破折号-替换空格 删除其余的字符
举个例子,如果你有这些部分:
# 1. Python
# 2. c++
# 3. c++11
# 4. asp.net-core
您可以使用以下命令添加引用:
[1. Python](#1-python)
[2. c++](#2-c)
[3. c++11](#3-c11)
[4. asp.net-core](#4-aspnet-core)
注意asp.net-core如何变成aspnet-core, 1。Python变成了1-python,等等。
通用解决方案
根据markdown的实现,这个问题似乎有不同的答案。 事实上,官方Markdown文档对这个话题只字未提。 在这种情况下,如果您想要一个可移植的解决方案,您可以使用HTML。
在任何标题之前,或在同一标题行中,使用一些HTML标记定义一个ID。 例如:<a id="Chapter1"></a> . 您将在代码中看到这一点,但在呈现的文档中看不到。
完整的例子:
请在这里查看完整的示例(在线和可编辑)。
## Content
* [Chapter 1](#Chapter1)
* [Chapter 2](#Chapter2)
<div id="Chapter1"></div>
## Chapter 1
Some text here.
Some text here.
Some text here.
## Chapter 2 <span id="Chapter2"><span>
Some text here.
Some text here.
Some text here.
为了测试这个例子,您必须在内容列表和第一章之间增加一些额外的空间,或者降低窗口的高度。 另外,不要在id的名称中使用空格。
使用kramdown,看起来效果不错:
[I want this to link to foo](#foo)
....
....
{: id="foo"}
### Foo are you?
我看到有人提到过
[foo][#foo]
....
#Foo
工作效率很高,但对于除标题外的元素或具有多个单词的其他标题,前者可能是一个很好的选择。
在Markdown规范中没有这样的指令,抱歉。
Gitlab 使用 GitLab Flavored Markdown (GFM)
这里“所有markdown -render头自动获得id”
可以使用鼠标:
将鼠标移到页眉上 将鼠标移动到悬停选择器上,从头部左侧可见 复制和保存链接使用鼠标右键单击 例如在README中。md文件我有头文件:
Boettcher函数的级数展开公式
它给出了一个链接:
https://gitlab.com/adammajewski/parameter_external_angle/blob/master/README.md#series-expansion-formula-of-the-boettcher-function
前缀可以删除,所以这里的链接是简单的
file#header
这里的意思是:
README.md#series-expansion-formula-of-the-boettcher-function
现在它可以用作:
[Boettcher函数的级数展开公式](readme .md#series- expand -formula-of- Boettcher -function)
也可以手动操作:用连字符替换空格。
这里有一个活生生的例子