2016-02-06 93 views
0

我是Jekyll的新手,無法按自己的方式進行設置。我有一個站點已經有一個標準的目錄結構:css,img和js目錄以及索引和頁面html文件在同一級別上。到目前爲止很正常。jekyll目錄結構/將index.html更改爲不同的頁面

如果我運行jekyll new blog,它會在subdir博客中設置它需要的文件。但是當我到那個目錄去改變基本的佈局文件並且做jekyll serve時,它沒有問題,它找不到對我整個站點有效的css文件 - 因爲它不能「看見」目錄中的任何東西進一步向上。我嘗試了通往CSS的路徑,但我似乎無法讓它顯示出來。我嘗試將subdir「blog」上的所有內容都移動到一個級別,以便_layoutsb文件夾等與css和img目錄處於同一級別,但是我遇到Jekyll僅構建「index.html」文件的問題 - 我不想那樣,我已經有一個索引文件,它是一個.php,而不是.html。

我怎麼可以之一: 一)獲得傑基爾在子目錄運行,但使用的CSS樣式,圖像等從主css目錄

B)得到傑基爾住上。頂級目錄,但建立做一些不是「index.html」?

感謝您的任何幫助。我一直在建設,刪除和調整,並沒有取得任何進展。

回答

0

那麼,Jekyll is a static website generator並不支持php。但是您可以使用Liquid Templating Language執行幾乎所有操作,例如includes,您可以使用大量功能,過濾器和其他features,這些功能允許您動態編寫和發佈靜態頁面。

好消息,但:我發現一個解決方法,包括PHP文件! ;)

  1. 在網站root中創建一個文件夾。假設它的名字是php(沒有下劃線)。根據需要添加儘可能多的php文件。假設您在php目錄中包含index.php

  2. 在你_config.yml,加入這一行:

    keep_files: [php] 
    

這將讓該文件夾phpuntouched時傑基爾構建網站。

  1. 像平常那樣運行jekyll serve

  2. 當您添加的鏈接樣式表(等環節),不要忘了包含你的PHP文件的文件夾將在同一級別的css文件夾,這樣做,在你的index.php

    <link rel="stylesheet" href="../css/main.css"> 
    
  3. 要查看php文件生效,您需要在您的localhost根目錄中構建網站。例如,如果您使用Xampp,它將在htdocs之內。要查看這些文件,您需要打開Apache並在瀏覽器中輸入:http://localhost/test/_site/php/ - 其中test是項目根文件夾 - 您將看到index.php正常工作。其他文件將通過_sitelocalhost:4000提供。

  4. 僅上傳到您的網絡服務器_site內容,除非您的服務器自動構建Jekyll。

打開_site文件夾檢查您的網站是如何構建的。

不要忘記:你將不會被允許將網站託管在GitHub Pages因爲它不提供PHP支持。我建議你在一個功能齊全的主機提供商中託管你的網站。

希望能有所幫助!