首页 > 解决方案 > 我可以使用与部分标题不同的自定义部分链接吗?

问题描述

我正在使用 reStructuredText 和 Sphinx 编写一些文档,但我将来可能想更改我的部分标题:

Some Title Which I May Want To Change
=====================================

对于这些部分标题,Sphinx 会生成一个类似thepage#some-title-which-i-may-want-to-change. 这意味着当我更改名称时,任何人可能创建的旧链接现在都将被破坏。

我可以为与标题文本不同的标题使用自定义链接吗?

.. use-this-link:: perma-title
Some Title Which I May Want To Change
=====================================

带有指向thepage#perma-title.

标签: python-sphinxrestructuredtext

解决方案


节标题基于标题文本生成隐式超链接目标。您想要的是使用自定义超链接目标的能力;一个明确的超链接目标。我们可以这样做:

.. _some-title-which-i-may-want-to-change:
.. _perma-title:

Some Title Which I May Want To Change
=====================================

这结合了一些功能来做我们想要的:

  • .. _perma-title:显式超链接目标添加到标题。然而,没有这个,超链接生成器¶仍将使用旧的隐式超链接目标。要解决这个问题:
  • .. _some-title-which-i-may-want-to-change:是具有相同引用名称的显式超链接目标。文档指出,这将“覆盖任何具有相同引用名称的隐式目标”。
  • .. _some-title-which-i-may-want-to-change:定位为“链式”内部超链接目标,给它一个可以去的地方。这意味着如果有人要访问thepage#some-title-which-i-may-want-to-change,他们也会转到此标题。

通过这些更改,超链接生成器符号 ¶ 将生成thepage#perma-title您想要的链接。


推荐阅读