GitLab在Markdown中不允许用户设置HTML ID属性。
文档对HTML清理有更详细的说明。
我只找到了两种解决方法:
如果您只关心同一页内的锚点,请使用
id
和
name
,例如:
<a id="action-one" name="action-one">action one</a>
或者,如果您不希望锚点文本被下划线标记,可以将其放在
a
标签之外,例如:
<a id="action-one" name="action-one"></a>action one
在VS Code和GitLab中,这种方法似乎对同一页内的锚点有效。
对于指向其他页面的锚点链接,无论是在VS Code还是GitLab中,都会显示其他页面,但不会跳转到锚点(尽管这可能因浏览器而异)。
特别是,GitLab会删除
id
标签,例如:
<a name="action-one">action one</a>
如果你必须在不同的页面中显示一个锚点,我找到的唯一解决方案是使用
Markdown标题,例如:
#### 动作一
这在VS Code和GitLab中都很好用。GitLab会将Markdown转换成类似以下的内容:
<h4><a aria-hidden="true" href="#action-one" class="anchor" id="user-content-action-one"></a>动作一</h4>
虽然这不是理想的解决方案,但一个好处是标题在列表中也可以使用,并且你可以使用较小的标题(例如h5甚至h6)使它们不那么显眼。使用问题中的示例,可以这样写:
这是一个动作列表:
- ##### 动作一:blablanla
- ##### 动作二:patata