如何link到降价文件(Table的内容)中包含点(.)或逗号(,)的标题?

How to link to heading containing dot (.) or comma (,) in markdown file (Table of contents)?

在我的 Readme.MD 降价文件中,我想创建 Table 的内容 (对于 Github)。 [TOC](由 Typora 生成)未显示在 Github 上。它显示为 [TOC]。我的一些标题包含点或逗号等字符。有什么方法可以 link 这些标题吗?

我想的几乎都试过了,比如:[app.js File](#app.js-file)[app.js File](#app-js-file)[app.js](#app--js-file)[app.js](#app\.js-file)[app.js](#appjs-file)。没有任何效果。

这是一个例子:

Table of contents:
[app.js](#app-js)
[script.js](#script.js)
[One, two, three](#one,-two,-three)

# app.js File
Some text

# script.js File
Some text

# One, two, three
Some text

P.S。有些人正在谈论创建 HTML-anchors(命名),但是 how/where 你是否将它们写在你的 MD-file 中(如果它是解决方案)。能否请您解释一下(我在互联网上找不到任何解决方案)。

如果您将鼠标悬停在要 link 的 header 上,您应该会在呈现的内容中看到一个 link 图标。将鼠标悬停在该图标上以查看它 link 的目标,并将其用作您的目标。我想你会找到名为

的 link
  • appjs-file
  • scriptjs-file
  • one-two-three

This answer 指向一些可能驱动 link 命名的逻辑,但我无法确认。

附带说明一下,Markdown 的设计目的是即使在其原始形式下也易于阅读。我强烈建议在 header 哈希值和 header 文本之间添加一个 space,并在 header 及其内容之间添加一个空行,例如

# app.js File

Some text

一些 Markdown 处理器需要其中之一或两者才能正确呈现。

问题 1

Is there any way to link to these headings(that contain punctuation marks)?

是的。删除所有标点符号并用连字符替换空格。这适用于 Github 但对于其他一些降价编辑器,例如 hashnode.com,您必须用连字符替换标点符号。

在您上面的示例中,我没有 link 编辑完整的标题。这就是为什么有些不起作用的原因。要修复您给出的示例:

Table of contents:
[app.js](#appjs-file)
[script.js](#scriptjs-file)
[One, two, three](#one-two-three)

# app.js File
Some text

# script.js File
Some text

# One, two, three
Some text

问题二

Some people are talking about creating HTML-anchors (named), but how/where do you write them in your MD-file (in case it is the solution)?

您在同一行上要 link 的标题旁边添加 HTML 锚点。您在 table 内容中提供的 link 应与标题中锚点的名称相匹配,但删除散列。

这是一个例子:

Table of contents:
[app.js](#app-js-file)
[script.js](#script-js-file)
[One, two, three](#one-two-three)

# app.js File <a name="app-js-file"></a>
Some text

# script.js File <a name="script-js-file"></a>
Some text

# One, two, three <a name="one-two-three"></a>
Some text

Here's a Github Gist 以证明它适用于 Github。

在 GitHub 中,如果将鼠标悬停在章节标题文字上,link 图标会出现在章节标题文字的左侧。如果将鼠标悬停在 link 图标上,您所在网页的 URL 会出现在页面底部(即 github.com/username/... /README.md).如果您继续将鼠标悬停在 link 图标上几秒钟,则 link 将包含附加部分 link(即 github.com/username/repo/编辑/主要/README.md#appjs-file).

解决方案:

Table of contents:
[app.js File](#appjs-file)
[script.js File](#scriptjs-file)
[One, two, three](#one-two-three)

# app.js File
Some text

# script.js File
Some text

# One, two, three
Some text