카탈로그를 클릭 할 때 물음표가 포함 된 첫 번째 파일에서 변환 된 HTML 파일을 브라우저에 표시 할 수없는 이유는 무엇입니까?


14

파일을 다운로드하고 simple.7z스핑크스에 설치하여 여기에 설명한 문제를 재현하십시오. 복제하려면 다음을 실행하십시오.

make clean
make html   

문제를 재현하기 위해 스핑크스에 다운로드 및 설치

에 두 개의 기사가 sample/source있으며 내용은 동일하지만 차이점은 제목입니다.

cd  sample
ls source |grep  "for-loop"
What does "_" in Python mean in a for-loop.rst
What does "_" in Python mean in a for-loop?.rst

하나는 포함 ?하고 다른 하나는 포함 하지 않습니다 ?. 실행 후 이상한 일이 발생했습니다 make html.

make html
ls build/html|grep  "for-loop"
What does "_" in Python mean in a for-loop.html
What does "_" in Python mean in a for-loop?.html

<code> html 만들기 </ code>를 실행 한 후 타일을 참조하십시오 1 실행 :
왜 파이어 폭스로 다음 모두 표시 What does “_” in Python mean in a for-loop? 참고 : "_"에 combiled되었다 “_”; 와 같이
포함되지 않은 제목 은에 추가 되었습니까? ?What does "_" in Python mean in a for-loop.htmlWhat does “_” in Python mean in a for-loop??

문제 2 : 첫 번째 제목을 클릭하려면 What does “_” in Python mean in a for-loop?브라우저가 상태로 이동no url was not found on this server

첫 번째 제목을 클릭 할 때이 서버에서 URL을 찾을 수 없습니다 두 번째 제목을 클릭하면 What does “_” in Python mean in a for-loop?정상적으로 작동합니다. 두 번째 제목을 클릭하면 잘 작동합니다.

내 문제에 대해 설명해주세요.


1
Sphinx가이 HTML을 생성 한 reStructuredText를 보여주십시오.
Steve Piercy

print(“Hello”)??? "스마트 한"따옴표를 꺼야합니다.
kthy

답변:


6

문제 1 은 실제로 문제 가 아니며 Sphinx의 정상적인 동작입니다. 표시된 제목은 파일 이름이 아니라 ResT 문서의 최상위 제목입니다. 두 경우 모두 물음표로 끝납니다. 참고 항목 목차 > .. toctree :: > 항목 의 섹션 이 페이지에 있는 상태 :

toctree의 문서 제목은 참조 된 문서의 제목에서 자동으로 읽습니다.

확신이 필요한 경우 문서의 제목을 변경하고 HTML을 다시 작성하여보십시오.


문제 2href링크 에 urlencoded 물음표가 있기 때문에 발생합니다. URL에서 물음표는 쿼리 문자열 의 시작을 의미 합니다 .

액세스하려고 What does "_" in Python mean in a for-loop?.html한다는 것은 What does "_" in Python mean in a for-loopHTML 문서를 요청하고 .html매개 변수를 제공 한다는 의미 입니다. 그리고 요청 된 문서는 존재하지 않기 때문에 찾을 수 없습니다.

브라우저의 주소 표시 줄에서 물음표를 urlencoded 형식으로 바꾸고 %3F작동하는지 확인할 수 있습니다.

나는 스핑크스가 링크에서 문서 이름을 자동으로 urlencode href( 실제로 버그로 간주 )하거나 ResT 문서에 대한 이름 제한을 명확하게 표현하는 문서 를 만드는 방법을 찾지 못했습니다 .

그러나 문장 부호가있는 파일 이름지정하는 것이 종종 문제의 원인 이라는 사실을 알고 있습니다 . 덜 이국적인 문자로 문서의 이름을 바꾸는 것이 좋습니다 (슬러그 화). underscore_in_for_loop.rst대신 ResT 문서의 이름을 지정 What does "_" in Python mean in a for-loop?.rst하면 많은 시간과 두통이 줄어 듭니다 .

첫 번째 문제에서 볼 수 있듯이 문서 이름은 URL에만 사용되므로 문제가되지 않아야합니다.


4

?A는 와일드 카드 URL의 일부 단어 매칭은 따라서 특수 문자로 처리됩니다.

와일드 카드는 두 가지 유형의 조커와 함께 작동합니다.

  ? - any character  (one and only one)
  * - any characters (zero or more)

이를 위해서는 URL인코딩 해야합니다

import urllib.parse
>>> urllib.parse.quote(<<url>>)

Python 3.x에서는 urllib.parse.quote를 가져와야합니다.

import urllib.parse
urllib.parse.quote(<<url>>)


나는 ?와일드 카드로 취급되므로 %3fURL에서 변환하지 않는다고 생각합니다 .
Sreeram Nair

5
python-sphinx의 버그입니다.
scrapy

링크 된 광고 문서와 스핑크스의 관계는 무엇입니까?
Tryph
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.