我正在尝试使用Sphinx的.. include::
指令将一个文件中的文档包含在另一个文件中,以避免重复文档的源文本。我包含的部分位于configuration.rst
(它是配置设置的参考文档的一部分),它包含一些用于交叉引用每个配置设置的标签:
.. start_config-authorization
.. _ckan.auth.anon_create_dataset:
ckan.auth.anon_create_dataset
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Example::
ckan.auth.anon_create_dataset = False
Default value: ``False``
Allow users to create datasets without registering and logging in.
.. _ckan.auth.create_unowned_dataset:
ckan.auth.create_unowned_dataset
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
.. end_config-authorization
在另一个文件 ( authorization.rst
) 中,我仅包含内联的授权配置设置configuration.rst
,如下所示:
.. include:: /configuration.rst
:start-after: start_config-authorization
:end-before: end_config-authorization
问题是包含文本中的标签会从 Sphinx 产生此警告:
doc/configuration.rst:224: WARNING: duplicate label ckan.auth.anon_create_dataset, other instance in doc/authorization.rst
到目前为止,交叉引用似乎没有被破坏,如果我说:
:ref:`ckan.auth.anon_create_dataset`
在第三个文件中,这会正确生成指向 in 定义的链接ckan.auth.anon_create_dataset
(configuration.html
而不是 in 的包含副本authorization.html
)。
简单地忽略或静音这些重复标签警告是否安全,并期望所有交叉引用链接到configuration.html
?或者我应该找到另一种方法吗?