2012-10-23 13 views
10

Bir proje için html belgeleri oluşturmak için sphinx kullanıyorum. field lists'dan kapsamlı bir şekilde faydalanıyorum.Sfenks/docutils'de varsayılan alan adı sınırını geçersiz kılma

Html oluştururken, etiketin uzunluğu en çok 14 karakterden oluşuyorsa, her etiket/değer çifti iki hücre ile tek bir tablo satırı olarak oluşturulur.

Bir çiftin etiketi 14 karakterden uzunsa, etiket/değerler iki tablo satırı olarak görüntülenir.

Sarma sınırını daha büyük bir değere yükseltmek istiyorum (ör., 40). Limitin --field-name-limit Docutils seçeneği tarafından kontrol edildiğini buldum. Ancak, bu değeri sfenks yoluyla nasıl ayarlayacağımı bulamıyorum.

aşağıdaki içeriği ile dokümantasyon kökü bir docutils.conf dosyası oluşturduk: Ben sfenks çalıştırdığınızda

[general] 
dump_settings: 1 
dump_internals: 1 

[html4css1 writer] 
field_name_limit: 40 

dosya okunur. Ayarlar ve dahili dosyalar yazdırılır - [general] bölümündeki değerler nedeniyle. Basılı değerler arasında, , 40 değerine sahip olacak şekilde basılmıştır. Tüm bunlara rağmen, tarif ettiğim sarma hala html çıktısında gerçekleşir.

İstenen çıktıyı alabilmem için field_name_limit değerini nasıl ayarlayabilirim?

+1

Benim yaklaşımımdan yaklaşım denediniz mi? – bmu

+0

FWIW, Sphinx sürüm v 1.6.6'da, docutils.conf ayarına uyulur. – collapsar

cevap

0

Sfenks'in kendi html yazıcısını kullandığı için yaklaşımınızın işe yaramadığını düşünüyorum.

Ancak, stili field_name için uyarlarsanız çalışması gerektiğini düşünüyorum. (bir kez)

.field-name { 
    white-space: nowrap; 
} 

ile özel bir CSS dosyası kullanılır ya da sabit bir genişliğe ayarlayın.

+0

Sphinx 1.6.6'da, Writer alan adı ve değeri 2 farklı tablo satırında işlediğinden yaklaşımın geçerli olmayacağı belirtildi. – collapsar

+0

Sarma, farklı bir html öğesi oluşturan docutils html yazıcısında uygulandığı için bu çalışmaz: https://github.com/docutils/docutils/blob/84f7b36275804d110e05ac75688960e6f340e698/docutils/docutils/writers/html4css1/ __init __. py # L916 – marbu

0

bir yolu orijinal html oluşturucu uzanan özel sfenks oluşturucu sınıfında ayarını geçersiz kılmak için, ve prepare_writing(self, docnames) fonksiyonunda self.settings.field_name_limit = 0 ayarlayın. Yani, bu özel bir oluşturucu sınıfınız olmadıkça, bu biraz overkill olduğunu söyledi ...