python-sphinx - 我可以使用与部分标题不同的自定义部分链接吗?
问题描述
我正在使用 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
.
解决方案
节标题基于标题文本生成隐式超链接目标。您想要的是使用自定义超链接目标的能力;一个明确的超链接目标。我们可以这样做:
.. _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
您想要的链接。
推荐阅读
- javascript - 使用 Tribute 插件配置 ckEditor
- git - 如何使用 git 返回主分支?
- django - 许多组织中的 Django 多个用户角色
- r - 关于 R 中 curl::curl_fetch_memory(url, handle = handle) 中的错误的问题
- mongodb - 如何从 MongoDB 中的不同集合填充字段数组
- c# - 我的 PointerClick 函数被触发两次
- java - 我可以在另一个 GUI 中单独单击项目时更新库存吗?
- c++ - 尽管使用 C++14,但不允许在 Visual Studio 2019 中初始化类数组
- ios - 如何在 iOS 的 Safari 应用程序中打开上一个选项卡
- java - SonarQube 密码块链接 IV 应该是不可预测的