永久連結
永久連結是您頁面、文章或集合的輸出路徑。它們讓您可以將原始碼目錄結構設定為與輸出目錄結構不同。
Front Matter
設定永久連結最簡單的方式是使用 Front Matter。您將 Front Matter 中的 permalink
變數設定為您想要的輸出路徑。
例如,您網站上可能有一個位於 /my_pages/about-me.html
的頁面,而您希望輸出網址為 /about/
。您會在頁面的 Front Matter 中設定
---
permalink: /about/
---
全域
為您網站上的每個頁面在 Front Matter 中設定永久連結並不好玩。幸運的是,Jekyll 讓您可以在 _config.yml
中全域設定永久連結結構。
若要設定全域永久連結,您會在 _config.yml
中使用 permalink
變數。您可以使用佔位符來設定您想要的輸出。例如
permalink: /:categories/:year/:month/:day/:title:output_ext
請注意,頁面和集合(不包含 文章
和 草稿
)沒有時間和類別(對於頁面,上述 :title
等於 :basename
),永久連結樣式的這些面向會在輸出中被忽略。
例如,/:categories/:year/:month/:day/:title:output_ext
樣式的永久連結,對於 posts
彙編,會變成 /:title.html
,適用於頁面和彙編(不含 posts
和 drafts
)。
佔位符
以下是可用佔位符的完整清單
變數 | 說明 |
---|---|
|
文章檔名中的年份,四位數字。可透過文件的前置事項 |
|
文章檔名中的年份,不含世紀。(00..99)可透過文件的前置事項 |
|
文章檔名中的月份。(01..12)可透過文件的前置事項 |
|
文章檔名中的月份,不含前導零。可透過文件的前置事項 |
|
三字母的月份縮寫,例如「Jan」。 |
|
完整的月份名稱,例如「January」。 |
|
文章檔名中的日期。(01..31)可透過文件的前置事項 |
|
文章檔名中的日期,不含前導零。可透過文件的前置事項 |
|
文章檔名中的年度序號,含前導零。(001..366) |
|
星期年,可能與月份年不同,最多相差三天,分別為 1 月初和 12 月底 |
|
當前年份的星期數,從 1 月份大部分日期落在第一個星期開始。(01..53) |
|
星期,從星期一開始。(1..7) |
|
三字母的星期縮寫,例如「Sun」。 |
|
星期名稱,例如「星期日」。 |
|
24 小時制的一天中的小時,從貼文的 |
|
從貼文的 |
|
從貼文的 |
|
文件檔名中的標題。可透過文件 |
|
文件檔名中的 slug 標題(任何非數字和字母的字元都替換為連字號)。可透過文件 |
|
此貼文指定的類別。如果貼文有多個類別,Jekyll 會建立階層(例如 |
|
此貼文指定的類別,但已 slugified。如果類別由多個單字組成,Jekyll 會將所有字母轉為小寫,並將任何非字母數字字元替換為連字號。(例如
如果貼文有多個類別,Jekyll 會建立階層(例如 |
|
輸出檔案的副檔名。(預設包含且通常不必要。) |
內建格式
對於貼文,Jekyll 也提供以下內建樣式以供方便
永久連結樣式 | URL 範本 |
---|---|
|
|
|
|
|
|
|
|
|
|
與其輸入 permalink: /:categories/:year/:month/:day/:title/
,您只要輸入 permalink: pretty
即可。
透過前置標題指定永久連結
前置標題中無法辨識內建的永久連結樣式。因此,permalink: pretty
將無法運作。
集合
對於集合(包括 posts
和 drafts
),您可以在 _config.yml
中的集合組態中覆寫全域永久連結
collections:
my_collection:
output: true
permalink: /:collection/:name
集合有以下可用的佔位符
變數 | 說明 |
---|---|
|
包含集合的標籤。 |
|
文件相對於集合目錄的路徑,包括文件的基礎檔名。 |
|
文件的基礎檔名,每個空白和非字母數字字元的序列都已替換為連字號。 |
|
如果文件中有任何 前置標題變數值, |
|
輸出檔案的副檔名。(預設包含且通常不必要。) |
頁面
對於頁面,您必須使用前置標題來覆寫全域永久連結,而且如果您在 _config.yml
中透過前置標題預設設定永久連結,它將會被忽略。
頁面有以下可用的佔位符
變數 | 說明 |
---|---|
|
相對於網站原始目錄的頁面路徑,不包含頁面的基本檔名。 |
|
頁面的基本檔名 |
|
輸出檔案的副檔名。(預設包含且通常不必要。) |