Soru işareti içeren rst dosyasından dönüştürülen html dosyası neden kataloğa tıklandığında görüntülenemiyor?


14

Lütfen dosyayı indirip simple.7zsfenksinize yükleyin, burada tarif ettiğim sorunları çoğaltın, yeniden oluşturmak için çalıştırabilirsiniz:

make clean
make html   

sorunları yeniden oluşturmak için sfenksinize indirin ve yükleyin

İçinde iki makale var sample/source, içerik aynı, sadece başlık başlık.

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

Biri içeriyor ?, diğeri içermiyor ?. Kaçtıktan sonra garip bir şey oldu 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

lütfen <code> make html </code> 'ı çalıştırdıktan sonra kutucuğa bakın 1 Sayı:
Neden firefox olarak daha sonra tüm göstermek What does “_” in Python mean in a for-loop? Not: "_"içine combiled edildi “_”; İçinde
hiç ?böyle bir başlık bulunmayan, What does "_" in Python mean in a for-loop.htmliçine What does “_” in Python mean in a for-loop?hangi eklenir ??

Sorun 2: İlk başlığı tıklamak için What does “_” in Python mean in a for-loop?tarayıcı bir duruma atlano url was not found on this server

İlk başlığa ne zaman tıklanacağı bu sunucuda URL bulunamadı İkinci başlığı tıklamak What does “_” in Python mean in a for-loop?iyi çalışır. ikinci başlığa ne zaman tıklanırsa iyi çalışır

Lütfen sorunumla ilgili açıklama yapınız.


1
Lütfen Sphinx'in bu HTML'yi oluşturduğu yeniden yapılandırılmış Metninizi gösterin.
Steve Piercy

print(“Hello”)??? "Akıllı" teklifleri kapatmanız gerekir.
kthy

Yanıtlar:


6

Sorun 1 aslında bir sorun değil, Sfenks'in normal davranışıdır: Görüntülenen başlık dosya adı değil, her iki durumda da soru işaretiyle sona eren ResT belgesinin en üst düzey başlığıdır. Bkz İçindekiler ' > .. toctree :: > Girişler bölümüne bu sayfayı hangi devletler:

Toctree'deki belge başlıkları, referans verilen belgenin başlığından otomatik olarak okunur.

İkna olmanız gerekiyorsa, herhangi bir belgenin başlığını değiştirin, HTML'yi yeniden oluşturun ve bakın.


Sorun 2 , hrefbağlantının içinde kodlanmamış bir soru işaretinin bulunmasından kaynaklanmaktadır . Bir url'de soru işareti, bir sorgu dizesinin başlangıcı anlamına gelir .

Bu erişmeye çalışıyor What does "_" in Python mean in a for-loop?.html, What does "_" in Python mean in a for-loopHTML belgesini istemek, ona bir .htmlparametre vermek anlamına geliyor . Açıkçası, istenen belge mevcut olmadığı için bulunamadı.

Tarayıcınızın adres çubuğunda soru işaretini urlencoded formuyla değiştirebilir ve %3Fdaha sonra çalıştığını gözlemleyebilirsiniz.

Sfenks otomatik olarak bağlantı href( ve aslında bir hata olarak kabul edilir ) belge adlarını urlencode yapmak için herhangi bir yol bulamadık veya ResT belgeleri için adlandırma kısıtlamasını açıkça ifade herhangi bir doktor.

Ancak deneyimlerimden, noktalama işaretli bir dosyayı adlandırmanın genellikle sorun kaynağı olduğunu biliyorum . Belgenizi daha az egzotik karakterlerle yeniden adlandırmanızı öneririm (onları sümükleyin). Senin ResT belgesini adlandırma underscore_in_for_loop.rstyerine What does "_" in Python mean in a for-loop?.rstzaman ve baş ağrısı bir çok kazandıracak.

Ve ilk sorunda gördüğümüz gibi doküman adı yalnızca URL için kullanıldığından, bunun bir sorun olmaması gerektiğini unutmayın.


4

?URL'de parça sözcük eşleşmesi için bir joker karakterdir ve bu nedenle özel bir karakter olarak değerlendirilir.

joker kartlar iki tür joker ile çalışır:

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

Bunun için URL'yi kodlamanız gerekir

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

Python 3.x'te urllib.parse.quote dosyasını içe aktarmanız gerekir:

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

2
wildcard 2 joker ile çalışır
Sreeram Nair

Bence ?bir joker karakter olarak kabul edilir ve bu nedenle %3fURL'ye dönüştürmüyor .
Sreeram Nair

5
O zaman python-sfenks için bir hata.
scrapy

bağlantılı adroll doc ve sfenks arasındaki ilişki nedir??
Tryph
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.