2012-10-23 35 views
10

我正在使用sphinx生成項目的html文檔。我廣泛使用field lists覆蓋sphinx/docutils中的默認字段名稱限制

在生成的HTML,如果標籤的lenght爲至多14個字符的每個標籤/值對呈現爲一個單一的錶行有兩個細胞。

如果一對標籤長度超過14個字符,標籤/值會呈現爲兩個表格行。

我想增加環繞限制到一個更大的值(例如40)。我發現限制由docutils的--field-name-limit選項控制。但是,我無法找到如何通過獅身人面像來設置此值。

我創建了一個docutils.conf文件中的文檔根目錄具有以下內容:當我運行獅身人面像

[general] 
dump_settings: 1 
dump_internals: 1 

[html4css1 writer] 
field_name_limit: 40 

文件被讀。由於[general]部分中的值,會打印設置和內部結構。在打印的值中,field_name_limit的值爲40。儘管如此,我描述的包裝仍然出現在html輸出中。

如何設置的field_name_limit的價值,使我得到需要的結果?

+1

你試過了我的答案嗎? – bmu

+0

FWIW,在獅身人面像版本v 1.6.6中,來自docutils.conf的設置受到尊重。 – collapsar

回答

0

我認爲你的方法不起作用,因爲獅身人面像使用它自己的html作家。

但是,我認爲它應該工作,如果你適應field_name的風格。 I(一次)使用的自定義的CSS文件與

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

或將其設置爲一個固定的寬度。

+0

在Sphinx 1.6.6中,由於Writer在兩個不同的表格行中呈現字段名稱和值,因此該方法不可行。 – collapsar

+0

這並不正常工作,因爲包裝是docutils的HTML作家,產生不同的HTML元素實現的,請參閱:https://github.com/docutils/docutils/blob/84f7b36275804d110e05ac75688960e6f340e698/docutils/docutils/writers/html4css1/ __init __。PY#L916 – marbu

0

一種方法是覆蓋擴展原始的HTML商自定義獅身人面像器類的設置,並在prepare_writing(self, docnames)功能設置self.settings.field_name_limit = 0。這就是說,這有點矯枉過正,除非你已經有一個自定義的構建類...