2013-04-28 1 views
7

Sphinx의 을 사용하여 문서의 소스 텍스트 복제를 피하기 위해 한 파일의 문서를 다른 파일에 포함하려고합니다. 내가 포함하고있어 섹션은 (는 구성 설정에 대한 참조 문서의 일부) configuration.rst에 그것은 상호 참조 각 구성 설정에 대한 몇 가지 레이블을 포함 : 난 그냥 포함 다른 파일 (authorization.rst을)에서Sphinx 's .. :: 지시어와 "중복 라벨"경고

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

을 이 같은 configuration.rst 인라인에서 인증 구성 설정 :

.. 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 
를 내가 넣어 경우

지금까지 상호 참조가 깨진 것 같지 않습니다

:ref:`ckan.auth.anon_create_dataset` 

을 세 번째 파일이 제대로 configuration.html (그리고 포함 된 복사본 ckan.auth.anon_create_dataset의 정의에 대한 링크를 생성 그 중 authorization.html).

이러한 중복 경고를 무시하거나 무시하고 모든 교차 참조가 configuration.html으로 연결되는 것이 안전할까요? 아니면 다른 방법을 찾아야합니까?

답변

0

무시해도됩니까? 경고 메시지가 표시되지만 원래 내용은 포함 된 레이블을 막는 것처럼 보이므로 때때로 확인하면 위험하지 않습니다.

레이블없이 색인이 생성되지 않은 파일에 내용을 넣으려고 했습니까? 필요한 경우이 파일을 포함시키고 레이블이 붙은 파일을 만들고 레이블이없는 내용을 포함 시켰습니까? 마지막 파일은 참조로 표시해야합니다.

Ps : 테스트를 거치지 않았으므로 레이블에 다음과 같은 내용이 포함되어 있으며 표준 내용이 아닌 것으로 간주됩니다.

+0

아니요. 중복이 감지되면 무시 될 것이라고 생각합니다. 참조가 링크가 없거나 대상이 작성되지 않거나 둘다입니다. – erikbwork

3

다른 문제 (* .inc)로 전환하거나 exclude_patterns에 포함 파일을 conf.py에 추가하는 두 가지 방법이 있습니다.

관련 문제