使用感叹号禁止交叉引用超链接

问题描述 投票:0回答:2

在链接前加上

!
会抑制创建引用(例如,
:ref:`!no link`
将简单地呈现为
no link
):

如果您在内容前加上 ! 前缀,则不会创建任何引用/超链接。

但是,我想不出这有什么实际用途。为什么我应该首先创建一个引用,然后不想使用它 - 从一开始就编写纯文本会容易得多。

那么 - 这种抑制引用的典型用例是什么?

(例如,Sphinx本身并没有在其文档中使用它。)

python-sphinx cross-reference docutils
2个回答
1
投票
我想不出这有什么实际用途。

我能想到的用途是在构建之前,如果您想为一个给定的交叉引用(出现多次)“关闭”超链接生成,您会怎么做?

嗯,最简单的方法可能是使用某些文本编辑器的“查找和替换”功能,可以说最不具有侵入性的方法是添加或删除单个字符

!

。这样,交叉引用的长度和结构就保留在源中(并且标题仍然呈现在适当的位置)。这在几个地方可能很方便,例如
表格,删除整个交叉引用可能会导致源不一致。

最经济的改变可能就是改变这个:

:ref:`a very long title <an.extremely.long.link.target>`
进入这个:

:ref:`!a very long title <an.extremely.long.link.target>`
使用 

Sphinx API 也可以通过编程方式实现同样的效果,但许多 Sphinx 用户可能更喜欢文本编辑解决方案而不是编程解决方案。


0
投票
CPython 文档使用

!

 来允许交叉引用 C API 函数和当前未记录的其他接口(例如,旧的 What's New 文档可能引用不再存在的 API,因此添加前导 
!
 是告诉 Sphinx 悬空引用是预期的并且可以的简单方法)

© www.soinside.com 2019 - 2024. All rights reserved.