變數

Jekyll 會瀏覽您的網站,尋找要處理的檔案。任何有 前置資料 的檔案都會進行處理。對於這些檔案中的每一個,Jekyll 會透過 Liquid 提供各種資料。以下是可用資料的參考。

全域變數

變數 說明

site

網站資訊 + _config.yml 的設定。詳情請見下方。

page

頁面特定資訊 + 前置資料。透過前置資料設定的客製化變數會在此處提供。詳情請見下方。

layout

版面特定資訊 + 前置資料。透過版面中的前置資料設定的客製化變數會在此處提供。

theme

佈景主題 gem 特定資訊,如佈景主題 gemspec 中所定義。例如,可用於在佈景主題示範的「關於」頁面中呈現資訊。詳情請見下方。

content

在配置檔案中,被包裝的貼文或頁面的已呈現內容。未定義在貼文或頁面檔案中。

分頁器

當設定 paginate 組態選項時,此變數可供使用。詳情請參閱 分頁

網站變數

變數 說明

site.time

目前時間(當你執行 jekyll 指令時)。

site.pages

所有頁面的清單。

site.posts

所有貼文的反向時間順序清單。

site.related_posts

如果正在處理的頁面是貼文,此處包含最多十則相關貼文的清單。預設為最近的十則貼文。若要取得高品質但運算結果較慢的結果,請使用 --lsi潛在語義索引)選項執行 jekyll 指令。另請注意,GitHub Pages 在產生網站時不支援 lsi 選項。

site.static_files

所有 靜態檔案 的清單(即未經 Jekyll 轉換器或 Liquid 渲染器處理的檔案)。每個檔案有五個屬性:pathmodified_timenamebasenameextname

site.html_pages

site.pages 的子集,列出以 .html 結尾的頁面。

site.html_files

site.static_files 的子集,列出以 .html 結尾的檔案。

site.collections

所有集合的清單(包括貼文)。

site.data

包含從位於 _data 目錄中的 YAML 檔案載入資料的清單。

site.documents

每個集合中所有文件的清單。

site.categories.CATEGORY

類別 CATEGORY 中所有貼文的清單。

網站標籤。TAG

標籤為 TAG 的所有文章清單。

網站網址

包含網站網址,設定在 _config.yml 中。例如,如果設定檔中的 url: http://mysite.com,則 Liquid 中可存取為 site.url。開發環境中有一個 例外,如果在開發環境中執行 jekyll servesite.url 會設定為 hostport 和 SSL 相關選項的值。預設為 url: http://localhost:4000

網站。[設定資料]

透過命令列和 _config.yml 設定的所有變數都可透過 site 變數取得。例如,如果設定檔中的 foo: bar,則 Liquid 中可存取為 site.foo。Jekyll 在 watch 模式中不會剖析 _config.yml 的變更,必須重新啟動 Jekyll 才能看到變數的變更。

頁面變數

變數 說明

頁面內容

頁面內容,已轉譯或未轉譯,視處理的 Liquid 和 page 而定。

頁面標題

頁面標題。

頁面摘要

文件的未轉譯摘要。

頁面網址

文章網址,不含網域,但有開頭斜線,例如 /2008/12/14/my-post.html

頁面日期

指定給文章的日期。這可以在文章的前置資料中覆寫,方法是在 YYYY-MM-DD HH:MM:SS (假設為 UTC) 或 YYYY-MM-DD HH:MM:SS +/-TTTT (使用與 UTC 的偏移量來指定時區,例如 2008-12-14 10:30:00 +0900) 格式中指定新的日期/時間。

頁面 ID

集合或文章中文件的唯一識別碼 (在 RSS 饋送中很有用)。例如 /2008/12/14/my-post/my-collection/my-document

page.categories

此文章所屬類別的清單。類別取自於 _posts 目錄上方的目錄結構。例如,位於 /work/code/_posts/2008-12-24-closures.md 的文章,此欄位會設定為 ['work', 'code']。這些也可以在 front matter 中指定。

page.collection

此文件所屬的合輯標籤。例如,文章的 posts,或路徑為 _puppies/rover.md 文件的 puppies。若不屬於任何合輯,則會傳回空字串。

page.tags

此文章所屬的標籤清單。這些可以在 front matter 中指定。

page.dir

原始目錄與文章或頁面檔案之間的路徑,例如 /pages/。這可以在 front matter 中透過 permalink 覆寫。

page.name

文章或頁面的檔案名稱,例如 about.md

page.path

原始文章或頁面的路徑。範例用法:在 GitHub 上連結回頁面或文章的原始碼。這可以在 front matter 中覆寫。

page.next

相對於目前文章在 site.posts 中位置的下一篇文章。最後一篇文章會傳回 nil

page.previous

相對於目前文章在 site.posts 中位置的前一篇文章。第一篇文章會傳回 nil

專業提示™:使用自訂 Front Matter

您指定的任何自訂前置資料都可以在 page 中取得。例如,如果您在頁面中指定 custom_css: true,該值將可用為 page.custom_css

如果您在版面中指定前置資料,請透過 layout 取得。例如,如果您在版面的前置資料中指定 class: full_page,該值將在版面及其父版面中可用為 layout.class

佈景主題變數4.3.0

變數 說明

theme.root

佈景主題寶石的絕對路徑。

theme.authors

由佈景主題寶石作者組成的逗號分隔字串。

theme.description

佈景主題寶石說明或摘要,如佈景主題 gemspec 中所指定。

theme.version

目前佈景主題的版本字串。

theme.dependencies

佈景主題執行時期相依性的清單。

theme.metadata

佈景主題 gemspec 中定義的鍵值對對應。

分頁器

變數 說明

paginator.page

目前頁碼

paginator.per_page

每頁文章數

paginator.posts

目前頁面可用的文章

paginator.total_posts

文章總數

paginator.total_pages

頁面總數

paginator.previous_page

前一頁的頁碼,或如果沒有前一頁,則為 nil

paginator.previous_page_path

前一頁的路徑,或如果沒有前一頁,則為 nil

paginator.next_page

下一個頁面的編號,如果沒有後續頁面,則為 nil

paginator.next_page_path

下一個頁面的路徑,如果沒有後續頁面,則為 nil

分頁器變數可用性

這些變數僅在索引檔案中可用,但它們可以位於子目錄中,例如 /blog/index.html