2013-04-28 12 views
7

Sphinx.. include:: directiveを使用して、あるファイルのドキュメントを別のファイルに含めて、ドキュメントのソーステキストが複製されないようにしようとしています。私は含めてる部分はconfiguration.rstである(コンフィグ設定のリファレンスドキュメントのそれの一部)と、各コンフィグ設定を相互参照するためのいくつかのラベルが含まれています。別のファイル(authorization.rst)でスフィンクスの:: include :: duplicate label警告

.. 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 

私はちょうど含ま

.. include:: /configuration.rst 
    :start-after: start_config-authorization 
    :end-before: end_config-authorization 

問題が含まれるテキスト内のラベルがスフィンクスからこの警告を生成することである:

doc/configuration.rst:224: WARNING: duplicate label ckan.auth.anon_create_dataset, other instance in doc/authorization.rst 
このような configuration.rstインラインからの許可設定の設定、

私は置けばこれまで相互参照が壊れていないようで、:

:ref:`ckan.auth.anon_create_dataset` 

を3番目のファイルには、これは正しくconfiguration.htmlckan.auth.anon_create_datasetの定義(および含まれておりませんコピーへのリンクを作成しますその内のauthorization.html)。

これらの重複したラベルの警告を単純に無視または無音にして、すべての相互参照がconfiguration.htmlにリンクすることを期待してください。あるいは私はこれを行う別の方法を見つける必要がありますか?

答えて

0

無視してもよろしいですか?それは警告のままですが、元のコンテンツは含まれているラベルをブロックしているようですので、時々チェックすると危険ではありません。

ラベルなしのインデックスが作成されていないファイルにコンテンツを配置しようとしましたが、必要な場所にこのファイルを含めて、ラベル付きのファイルを作成し、ラベルなしのコンテンツを追加しましたか?最後のファイルは参照によって指し示すべきです。

Ps:テストしていないため、ラベルには標準の内容ではなくインクルードが含まれています。

+0

重複が検出された場合、無視されると思います。参照がリンクなしであるか、ターゲットが作成されないか、またはその両方です。 – erikbwork

3

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