带锚点的文档之间的链接

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

我有两个第一个文档,例如:

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 代码做到这一点吗?

python-sphinx
2个回答
5
投票

为 doc1.rst 中要链接到的部分定义标签。然后使用

:ref:
角色创建对该部分的交叉引用。

doc1.rst:

Doc 1 content
*************
 
.. _foobar:
 
Foo bar
=======
 
baz !

doc2.rst:

Doc 2 content
*************

You can see "foo bar" :ref:`here <foobar>`.     

0
投票

关于已知锚点的内部链接,doc1.rstdoc2.rst不必位于同一文件夹中,并且您不必提供有关内部锚点位置的路径信息

_foobar
.

doc1.rst

Doc 1 content
*************

.. _foobar:

doc2.rst:

Doc 2 content
*************

For additional details see :ref:`foobar`.

注意:对内部链接的引用,例如对锚点 _foobar 的引用可以位于生成的文档空间中的任何位置。 doc1.rstdoc2.rst 都可以位于文档文件夹空间中的任何位置,Sphinx 将找到适当的锚点/标签。无需提供有关其位置的路径信息。但在生成的文档集中,所有锚点都必须是唯一的。

https://www.sphinx-doc.org/en/master/usage/referencing.html#cross-referencing-profit-locations

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