【问题标题】:markdown link to header标头的降价链接
【发布时间】:2018-12-15 17:33:51
【问题描述】:

我正在使用 GitLab 编写一个 read.me 文件。

我试图创建一个指向标题的链接。根据 wiki,应该自动创建一个 id:

see here

我创建了一个标题:

### 1. This is my Header

并尝试创建指向它的链接:

[link](#1--this-is-my-header)

但它不起作用。 我究竟做错了什么?

【问题讨论】:

  • 可能与编程无关。 (GitLab?程序员使用的工具?我不确定)
  • @user202729 不确定如何使用 #toc_4 标头。如果我只写[link](#toc_4) 它不会链接到第四个标题

标签: hyperlink gitlab markdown


【解决方案1】:

在您链接到的文档中,我们了解到...

ID 是根据标头的内容生成的 以下规则:

  1. 所有文本都转换为小写。
  2. 所有非单词文本(例如标点符号、HTML)都被删除。
  3. 所有空格都转换为连字符。
  4. 连续两个或多个连字符将转换为一个。
  5. 如果已经生成了具有相同 ID 的标头,则会附加一个唯一的递增数字,从 1 开始。

注意规则 4:“将连续两个或多个连字符转换为一个。” 但是,您尝试的示例连续有两个连字符(在1)。删除其中一个,您应该拥有它。

[link](#1-this-is-my-header)

我不时遇到一个独特的标头,它以某种不明显的方式转换为 ID。快速计算 ID 的方法是使用浏览器的 view source 和/或 inspect 工具查看 HTML 源代码。例如,您可能会为您的示例找到以下 HTML:

<h3 id="1-this-is-my-header">1. This is my Header</h3>

然后只需使用带有哈希的id 属性的内容来链接到该标头:#1-this-is-my-header

【讨论】:

    【解决方案2】:

    Markdown ID 是使用一些我已经能够在 Google 上搜索到的规则生成的:(文本转为小写,非单词标点符号被删除,空格转换为连字符,连续两个或多个连字符转换为一个,命名冲突增加了数字附加,...)

    我找到了一种简单的方法来确定锚链接应该是什么。使用浏览器的 HTML 检查器检查要链接到的标头。标题标签的 ID 应该是您使用的。例如,我的标题在 HTML 检查器中如下所示:

    <h2 id="markdown-header-changing-plsql-parameters-and-shared-developers-lifecycle">
      Changing PL/SQL parameters and shared developer's lifecycle
    </h2>
    

    我可以像这样在标记中链接到它:

    [See instructions below](#markdown-header-changing-plsql-parameters-and-shared-developers-lifecycle)
    

    现在“请参阅下面的说明”链接到我的标题锚。

    【讨论】:

      猜你喜欢
      • 2021-08-09
      • 2017-02-22
      • 1970-01-01
      • 2022-10-16
      • 2023-04-03
      • 1970-01-01
      • 2012-10-11
      • 2021-09-26
      • 2014-04-03
      相关资源
      最近更新 更多