在链接前加上
!
会抑制创建引用(例如,:ref:`!no link`
将简单地呈现为 no link
):
如果您在内容前加上 ! 前缀,则不会创建任何引用/超链接。
但是,我想不出这有什么实际用途。为什么我应该首先创建一个引用,然后不想使用它 - 从一开始就编写纯文本会容易得多。
那么 - 这种抑制引用的典型用例是什么?
(例如,Sphinx本身并没有在其文档中使用它。)
我想不出这有什么实际用途。我能想到的用途是在构建之前,如果您想为一个给定的交叉引用(出现多次)“关闭”超链接生成,您会怎么做?
嗯,最简单的方法可能是使用某些文本编辑器的“查找和替换”功能,可以说最不具有侵入性的方法是添加或删除单个字符
!
。这样,交叉引用的长度和结构就保留在源中(并且标题仍然呈现在适当的位置)。这在几个地方可能很方便,例如表格,删除整个交叉引用可能会导致源不一致。 最经济的改变可能就是改变这个:
:ref:`a very long title <an.extremely.long.link.target>`
进入这个:
:ref:`!a very long title <an.extremely.long.link.target>`
使用 Sphinx API 也可以通过编程方式实现同样的效果,但许多 Sphinx 用户可能更喜欢文本编辑解决方案而不是编程解决方案。
!
来允许交叉引用 C API 函数和当前未记录的其他接口(例如,旧的 What's New 文档可能引用不再存在的 API,因此添加前导
!
是告诉 Sphinx 悬空引用是预期的并且可以的简单方法)