我有两个第一个文档,例如:
doc1.rst
doc2.rst
doc1.rst
Doc 1 content
*************
Foo bar
=======
baz !
doc2.rst
Doc 2 content
*************
You can see "foo bar" `here <doc1.html#foo-bar>`.
要在 doc2 中有一个到 doc1#foo-bar 的链接,我可以对其进行硬编码。但是如何在不进行硬编码的情况下实现呢?我可以用 sphinx 代码做到这一点吗?
:ref:
角色创建对该部分的交叉引用。
doc1.rst:
Doc 1 content
*************
.. _foobar:
Foo bar
=======
baz !
doc2.rst:
Doc 2 content
*************
You can see "foo bar" :ref:`here <foobar>`.
关于已知锚点的内部链接,doc1.rst和doc2.rst不必位于同一文件夹中,并且您不必提供有关内部锚点位置的路径信息
_foobar
.
doc1.rst
Doc 1 content
*************
.. _foobar:
doc2.rst:
Doc 2 content
*************
For additional details see :ref:`foobar`.
注意:对内部链接的引用,例如对锚点 _foobar 的引用可以位于生成的文档空间中的任何位置。 doc1.rst 和 doc2.rst 都可以位于文档文件夹空间中的任何位置,Sphinx 将找到适当的锚点/标签。无需提供有关其位置的路径信息。但在生成的文档集中,所有锚点都必须是唯一的。
https://www.sphinx-doc.org/en/master/usage/referencing.html#cross-referencing-profit-locations