15

ドキュメントのソーステキストが重複しないように、 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`

ckan.auth.anon_create_dataset3 番目のファイルでは、これによりinの定義へのリンクが正しく生成さconfiguration.htmlれます (in に含まれるコピーではありませんauthorization.html)。

これらの重複ラベルの警告を単に無視するか黙らせて、すべての相互参照がリンクすることを期待しても安全configuration.htmlですか? または、これを行う別の方法を見つける必要がありますか?

4

2 に答える 2

13

これを解決するには 2 つの方法があります。別の拡張子 (*.inc) に切り替えるか、任意のインクルード ファイルを に追加exclude_patternsしますconf.py

于 2016-02-21T20:41:37.330 に答える
-1

無視しても安全ですか?警告のままになりますが、元のコンテンツは含まれているラベルをブロックしているように見えるので、時々確認すればそれほど危険ではありません.

ラベルなしで索引付けされていないファイルにコンテンツを入れてみましたか? 最後のファイルは、参照によって指されている必要があります。

Ps: 私はテストしていないので、標準コンテンツではなくインクルードが続くという事実によって、ラベルが交差する可能性があります。

于 2013-04-28T13:10:13.757 に答える