2017-04-03 10 views
1

필자는 Sphinx를 사용하여 필자의 docstring에서 HTML 문서를 생성하는데 좋은 lil 'Pythonista와 같다.스핑크스를 사용하여 str 메소드에 어떻게 링크합니까?

def do_a_thing(text): 
    ''' 
    Call the ``str.strip()`` method on ``text``. Then do something 
    else with it. 
    ''' 

그러나, 나는 그것이 https://docs.python.org/3/library/stdtypes.html#str.strip 링크보다는 모든 고정 폭 및 코드 고르지 할 것을 권장합니다

나는이 닮은 문서화 문자열이있다.

나는 방법의 몇 가지를 시도하지했습니다 :이 작품의

:py:func:`str.strip()` 
:mod:`str.strip()` 
:class:`str.strip()` 
:any:`str.strip()` 
:doc:`str.strip()` 

없음 - 또는 더 정확하게, 처음 네 접근 방식은 나에게 고정 폭 & 굵은 글꼴 얼굴을 제공하지만, 그들 중 누구도 실제로 어디서든 연결합니다. 그리고 any 지시어는 내가 링크 나 자신을 만들 수 분명히 나에게 WARNING: 'any' reference target not found: str.strip()

을 제공하지만, 정확히 내가 원하는 아마도하지 총 보인다 무엇 때문에 내가 파이썬 4로 업그레이드 할 때 어떻습니까? 그렇다면 내 설명서의 모든 링크를 업데이트해야합니다.

str 메서드에 대한 Python 설명서에 연결하는 적절한 방법은 무엇입니까?

답변

1

Intersphinxftw!

conf.py에는 몇 줄을 추가하십시오. 피라미드 문서에는 Intersphinx extensionconfiguring intersphinx mappings을 추가하는 좋은 예가 있습니다.

extensions = [ 
    # ... 
    'sphinx.ext.intersphinx', 
    # ... 
    ] 

intersphinx_mapping = { 
    #... 
    'python': ('https://docs.python.org/3', None), 
    #... 
} 

은 그런 다음 한 .rst 파일, 파이썬 문서를 가리 키도록 여러 가지 방법이 있습니다. 우리는 문서 작성자에게 링크가 지정된 외부 문서 소스를 해결할 것임을 나타내는 다음 형식을 사용하는 것을 선호합니다. 지금까지 버전으로, 당신은 당신의 intersphinx 매핑에서 여러 이름을 사용할 수 있습니다

:py:meth:`str.strip` 

또는 대상 매핑을 업데이트 :

:mod:`venv module <python:venv>` 
:ref:`package <python:tut-packages>` 

파이썬의 경우도 포함하여 Python Domain 내에서 지침 중 하나를 사용할 수 있습니다 .

intersphinx_mapping = { 
    #... 
    'python2': ('https://docs.python.org/2', None), 
    'python': ('https://docs.python.org/3', None), # use "python" for default version 
    #... 
} 

또는 미래에 ...

intersphinx_mapping = { 
    #... 
    'python2': ('https://docs.python.org/2', None), 
    'python3': ('https://docs.python.org/3', None), 
    'python': ('https://docs.python.org/4', None), # use "python" for default version 
    #... 
} 
+0

그래서, 난 이미 intersphinx은과 같이 구성했다. 나는''를 시도했고'https : // docs.python.org/3/tutorial/modules.html # tut-packages'에 링크했다. 그러나'https : // docs.python.org/3/library/stdtypes.html#str.lstrip'의 끝에있는 것처럼''을 거기에 넣으면 실행되지 않습니다. 저를 거기 연결하십시오. –

+0

귀하의 특정 항목에 대한 답변을 업데이트했습니다. Python의 경우 [Python Domain] (http://www.sphinx-doc.org/en/stable/domains.html#the-python-domain)의 지시문을 사용할 수도 있습니다. 여기에는 : py : meth :'str.strip' –

+0

': py : meth :'내가 정확히 필요한 것입니다 - 고마워요! –