同名但不同部分的Markdown锚链接

Leo*_*o E 13 markdown visual-studio-code

您可以很容易地链接到 Markdown 中的锚标题。
[link to anchor heading](#background)

大量的 stackoverflow 问题都涉及到它,例如 this one或 this one

但我似乎无法找到一种方法来链接到共享相同名称但位于不同部分的锚点。

例如,我无法链接到不同部分中的背景部分。
[link to database background](#database#background)

而不是说:
[link to front end background](#front-end#background)

这也不起作用。
[link to database background](#database##background)

我希望降价锚链接遵循指定的部分路径。这不可能吗?还是我使用了错误的语法?

Gin*_*pin 11

据我所知,没有支持指定section-subsection-...格式的降价规范。据我了解,它们被转换为<a name=header>header</a>链接之类的东西,并且没有关于父标题是什么的信息。

我使用的一种解决方法是,当标题名称重复时,它会-1附加到它,以便您可以使用#header-1. 对下一个副本 ( #header-2) 和下一个 ( #header-3)应用相同的模式,依此类推。

这是一个示例降价(在 VS Code 1.38.1 上工作):

# App

[module 1 background](#background)

[module 2 background](#background-1)

[module 3 background](#background-2)

## Module 1

### background

## Module 2

### SubModule 2-1

#### SubSubModule 2-1-1

##### background

## Module 3

### background
Run Code Online (Sandbox Code Playgroud)

此解决方法的问题在于您必须跟踪重复名称的顺序,如果您有很多重复名称,这会变得非常乏味。好处是创建指向嵌入在一系列标题中的重复名称的链接#background-1更容易(比 更容易##module2###submodule-2-1####subsubmodule-2-1-1#####background)。

我不知道究竟是如何或为什么会这样,但 VS Code 正在使用CommonMark规范和markdown-it库来解析它,如Markdown 编辑文档中所述。


Raf*_*res 9

如Markdown 指南中所述,某些应用程序允许您在 Markdown 格式的文本中使用 HTML 标签(例如GitHub)。检查您的 Markdown 应用程序的文档以确保确定。

如果允许 HTML,您可以使用以下内容:

# Front end

- [Background](#front-end-background)

<h2 id="front-end-background">Background</h2>

# Database

- [Background](#database-background)

<h2 id="database-background">Background</h2>
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,<h2>与 相同##。它也适用于其他标题。