目錄結構

基本的 Jekyll 網站通常看起來像這樣

.
├── _config.yml
├── _data
│   └── members.yml
├── _drafts
│   ├── begin-with-the-crazy-ideas.md
│   └── on-simplicity-in-technology.md
├── _includes
│   ├── footer.html
│   └── header.html
├── _layouts
│   ├── default.html
│   └── post.html
├── _posts
│   ├── 2007-10-29-why-every-programmer-should-play-nethack.md
│   └── 2009-04-26-barcamp-boston-4-roundup.md
├── _sass
│   ├── _base.scss
│   └── _layout.scss
├── _site
├── .jekyll-cache
│   └── Jekyll
│       └── Cache
│           └── [...]
├── .jekyll-metadata
└── index.html # can also be an 'index.md' with valid front matter
使用基於 gem 的佈景主題的 Jekyll 網站目錄結構

從版本 3.2 開始,使用 jekyll new 引導的新 Jekyll 專案會使用 基於 gem 的佈景主題 來定義網站的外觀。這會產生較精簡的預設目錄結構:預設情況下,_layouts_includes_sass 會儲存在佈景主題 gem 中。


minima 是目前的預設佈景主題,而 bundle info minima 會顯示 minima 佈景主題的檔案儲存在電腦中的位置。

以下是各個檔案和目錄的說明

檔案/目錄 說明

_config.yml

儲存組態資料。這些選項中的許多選項都可以從命令列執行檔指定,但在此處指定會比較容易,這樣您就不必記住它們。

_drafts

草稿是未發表的文章。這些檔案的格式沒有日期:title.MARKUP。瞭解如何使用草稿

_includes

這些是部分內容,可以由您的版面配置和文章混合搭配,以利重複使用。液體標籤 {% include file.ext %} 可用於包含 _includes/file.ext 中的部分內容。

_layouts

這些是包覆文章的範本。版面配置會在前置資料中逐篇文章選擇,這會在下一節中說明。液體標籤 {{ content }} 用於將內容注入網頁。

_posts

您的動態內容,可以這麼說。這些檔案的命名慣例很重要,而且必須遵循格式:YEAR-MONTH-DAY-title.MARKUP永久連結可以針對每篇文章自訂,但日期和標記語言則完全由檔案名稱決定。

_data

格式良好的網站資料應放置在此。Jekyll 引擎會自動載入此目錄中的所有資料檔案(使用 .yml.yaml.json.csv.tsv 格式和副檔名),而且可透過 `site.data` 存取這些檔案。如果目錄中有 members.yml 檔案,則您可以透過 site.data.members 存取檔案的內容。

_sass

這些是 sass 部分內容,可以匯入到 main.scss 中,然後會處理成單一樣式表 main.css,用來定義網站要使用的樣式。瞭解如何使用資源

_site

這是 Jekyll 完成轉換後會放置已產生網站的位置(預設)。將這項新增到 .gitignore 檔案中可能是個好主意。

.jekyll-cache

保留已產生頁面和標記 (例如:markdown) 的副本,以加快提供速度。在使用例如:jekyll serve 時建立。可以使用 選項和/或標記 來停用。此目錄不會包含在已產生的網站中。將其新增至 .gitignore 檔案中可能是一個好主意。

.jekyll-metadata

這有助於 Jekyll 追蹤自上次建立網站以來哪些檔案未經修改,以及哪些檔案需要在下次建立時重新產生。僅在使用 增量重新產生 (例如:搭配 jekyll serve -I) 時建立。此檔案不會包含在已產生的網站中。將其新增至 .gitignore 檔案中可能是一個好主意。

index.htmlindex.md 和其他 HTML、Markdown 檔案

只要檔案具有 前置資料 區段,它就會由 Jekyll 轉換。網站根目錄或未列於上方的目錄中任何 .html.markdown.md.textile 檔案也會發生相同情況。

其他檔案/資料夾

除了上面列出的特殊情況之外,每個其他目錄和檔案(例如 cssimages 資料夾、favicon.ico 檔案等)都會逐字複製到已產生的網站中。如果您有興趣了解它們的配置方式,這裡有許多 已使用 Jekyll 的網站

source 目錄中,以下列字元開頭的每個檔案或目錄:._ #~ 都將不會包含在 destination 資料夾中。此類路徑必須透過設定檔中的 include 指令明確指定,以確保複製完成

include:
 - _pages
 - .htaccess