2013-08-23 62 views
11

我使用GitHub頁面並在子文件夾中創建了一些頁面。它似乎不會生成我在子文件夾中創建的頁面。所有其他頁面都可以正常工目錄結構是這樣的:Jekyll不在子文件夾中生成頁面

/ 
/index.html 
/_config.yaml 
/_includes 
/_layouts 
/_posts 
/tag 
/tag/personal.html 
/tag/videos.html 

/tag目錄內的頁面不會被傑基爾產生。另外,如果Jekyll構建失敗,通常GitHub會發送一封電子郵件,但在這種情況下不會。另外,如果我做了任何其他更改,它的工作,所以構建顯然沒有失敗。

/tag/personal.html是在這裏:

--- 
layout: default 
title: Tag-personal 
permalink: /tag/personal/index.html 
tagspec: personal 
--- 
<div id="tagpage"> 
    <h1>Posts tagged personal</h1> 
{% include tags.html %} 
</div> 

/_includes/tags.html是在這裏:

{% for tag in post.tags %} 
    {% if tag == page.tagspec %} 
    {% assign ispostviable = true %} 
    {% endif %} 
{% endfor %} 

    <ul class="posts"> 
{% for post in site.posts %} 
    {% if ispostviable == true %} 
    <li><a href="{{ post.url }}"></li> 
    {% endif %} 
{% endfor %} 
    </ul> 

PS:我用GitHub的頁面,有一個哲基爾實例根本無法訪問自己的計算機(Windows)中。

+0

我編輯了我的問題的細節。 – Ameer

回答

8

我找到了罪魁禍首。正是在Jekyll v1.0中,引入了子目錄中頁面的絕對永久鏈接。在v1.1之前,它是可選的。然而,從v1.1開始,絕對永久鏈接變爲選擇退出,這意味着Jekyll默認使用絕對永久鏈接而不是相對永久鏈接。

正在生成頁面/tag/tag/personal.html等。

有兩種解決方法:

  • _config.yaml
  • 使相對子目錄固定鏈接指定relative_permalinks: false

我選擇了第一個選項。

+0

完美工作,謝謝 –

5

Joshua Powell在回答Github上的類似問題時提供了step-by-step directions

  1. 編輯_config.yml添加以下行(或擴展陣列,如果存在的話)

    include: ['_pages']

    其中_pages是要在其中,讓您的文件的文件夾的名稱。 (如果您明確地添加它們,這也適用於嵌套文件夾,例如,['_pages', '_pages/foo']。)

  2. 將您的頁面移動到該文件夾​​中。 (這些頁面可能是HTML,Markdown或Jekyll將其放置在根文件夾中時呈現的任何其他內容)。

  3. 給他們提供一個適當的永久鏈接,包括尾部斜槓,例如permalink: "/about/"

+1

這不適合我。 :(這些頁面不會像文件放在根目錄時那樣生成。 – Ellesa

相關問題