2012-11-28 68 views
0

我是一個自認webTard,所以去容易。使用Jekyll我有一個網站,通過液體過濾器將內容泵入以生成目錄。 default.html文件包含一些像這樣的東西。 。 。有條件的HTML(取決於yaml前面的問題)

<div id='content'> 
    {{ content | toc }} 
    {{ content }} 
</div> 

我如何使用YAML前面的問題(有類似do_toc: true),使表的內容只出現在指定頁面?

回答

2

您可能希望爲需要目錄和不需要目錄的頁面定義不同的佈局。這聽起來像你使用default.html作爲你的所有內容的模板。相反,製作default.html副本稱爲別的東西,例如toc.html,然後編輯該文件(erg,這意味着您必須在HTML中進行編輯)才能讓div在您想要的位置提供阻止。

然後在需要的TOC頁面,在YAML頭,只是使用的

--- 
layout: toc.html 
--- 

代替

--- 
layout: default.html 
--- 

注:沒有必要複製default.html。只需添加創建一個名爲toc.html_layouts目錄與文件,內容如下:

--- 
layout: default.html 
--- 
<div id='content'> 
{{ content | toc }} 
{{ content }} 
</div> 

,然後如圖所示寫YAML標題爲您的網頁。根本沒有HTML的重複。

+0

這是一種方法,但它意味着很多HTML代碼的重複。它不是非常乾燥。 – learnvst

+0

我不關注。它不涉及任何HTML重複。您有兩種不同的佈局:帶TOC頁面和不帶頁面的頁面,因此您可以指定兩種不同的佈局。我修改了我的答案,以顯示一個稍微更優雅的方式來指定您的第二個佈局。 – cboettig

+0

Ooops +1。我確實說過我是一個webtard。我的壞 – learnvst