2013-06-22 38 views
6

我認爲管理Jekyll頁面的本地方式,即通過在根文件夾下創建.md文件/文件夾,有點混亂。在Jekyll的一個文件夾下顯示頁面?

因此,我想把每一頁我想展示到稱爲「頁面」的文件夾中。此外,我想這些網頁有一個級聯結構:如果說我的文件夾具有結構:

pages 
|-> parent1 
     |-> index.html 
     |-> son1.html 
     |-> son2.html 
|-> parent2 
     |-> index.html 

然後在頁面上市頁,它應該是這樣的:

page listing 
* parent1 
    * son1 
    * son2 
* parent2 

此外,不在頁面文件夾下的其他* .html文件不應顯示在此頁面列表頁面中。

我該怎麼做?

非常感謝。

回答

1

沒有什麼能夠阻止你這樣做。在上面的場景中,yourdomain.tld/pages/prent1/son1.html將是parent1/son1文件的URL。

但是,創建嵌套列表會更復雜。你可以在YAML前體中加入這個結構,或者使用帖子。

pages 
|-> parent1 
    |-> _posts/ 
     |-> index.html 
     |-> son1.html 
     |-> son2.html 
|-> parent2 
    |->_posts 
     |-> index.html 

=>通過這種方式,您的文件將是類別parent1和parent2中的帖子,您可以通過顯示類別及其內容來創建列表。

如果你真的想顯示一個沒有使用帖子和類別的樹結構,那麼你將需要做更多的黑魔法。但幸運的是,Liquid提供了一個split過濾器,您可以使用該過濾器將網站路徑拆分爲塊,例如,

{% for page in site.pages %}    
    {{ page.url | split:'/' | join:'+'}} 
{% endfor %} 

而是加入他們的(這純粹是爲了demonstartion),你會想填充它在該數組以顯示目錄樹後持有的樹結構,然後在迭代的數組。這是可能的,但並不容易。我不認爲有一些容易獲得的東西。

寫一個插件可能更容易。

相關問題