組態選項

下表列出 Jekyll 可用的設定,以及控制這些設定的各種 選項(在組態檔中指定)和 旗標(在命令列中指定)。

全域組態

設定 選項旗標

網站來源

變更 Jekyll 讀取檔案的目錄

source: DIR

-s, --source DIR

網站目的地

變更 Jekyll 寫入檔案的目錄

destination: DIR

-d, --destination DIR

安全

停用 未列入白名單的外掛程式、快取至磁碟,並忽略符號連結。

safe: BOOL

--safe

停用磁碟快取 4.1.0

停用內容快取至磁碟,以略過在來源建立 .jekyll-cache 或類似目錄,避免與虛擬環境和第三方目錄監視器產生衝突。在 safe 模式下,快取至磁碟始終處於停用狀態。

disable_disk_cache: 布林值

--disable-disk-cache

忽略佈景主題設定 4.1.0

Jekyll 4.0 開始允許佈景主題套件化 _config.yml,以簡化新使用者佈景主題入門。在匯入套件化佈景主題設定搞亂合併網站設定的不幸情況下,使用者可以設定 Jekyll 完全不匯入佈景主題設定。

ignore_theme_config: 布林值

排除

從轉換中排除目錄和/或檔案。這些排除相對於網站的來源目錄,且不能在來源目錄之外。
在 Jekyll 3 中,`exclude` 設定選項取代預設排除清單。
在 Jekyll 4 中,使用者提供的項目會新增至預設排除清單,而 `include` 選項可用於覆寫預設排除清單項目。
預設排除項目可在 _config.yml 中找到,由 jekyll new 建立

  • .sass-cache/
  • .jekyll-cache/
  • gemfiles/
  • Gemfile
  • Gemfile.lock
  • node_modules/
  • vendor/bundle/
  • vendor/cache/
  • vendor/gems/
  • vendor/ruby/

exclude: [目錄, 檔案, ...]

包含

強制在轉換中包含目錄和/或檔案。.htaccess 是個好範例,因為預設會排除點檔。在 Jekyll 4 中,`include` 設定選項項目會覆寫 `exclude` 選項項目。

include: [目錄, 檔案, ...]

保留檔案

在覆寫網站目的地時,保留選取的檔案。對於非 Jekyll 所產生的檔案很有用;例如,由建置工具產生的檔案或資產。路徑相對於 destination

keep_files: [DIR, FILE, ...]

時區

設定網站產生的時區。這會設定 TZ 環境變數,Ruby 會使用它來處理時間和日期的建立與操作。任何 IANA 時區資料庫 的項目都可使用,例如 America/New_York。可在此處找到所有可用值的清單 here。在本地端機器上提供服務時,預設時區會由您的作業系統設定。但在遠端主機/伺服器上提供服務時,預設時區會依據伺服器的設定或位置而定。

timezone: TIMEZONE

編碼

依據名稱設定檔案的編碼(僅適用於 Ruby 1.9 或更新版本)。預設值為 utf-8(從 2.0.0 開始),以及 2.0.0 之前的 nil,它會產生 Ruby 預設的 ASCII-8BIT。可使用指令 ruby -e 'puts Encoding::list.join("\n")' 顯示可用的編碼。

encoding: ENCODING

預設值

設定 front matter 變數的預設值。

請參閱 下方

在網站建置時會清除目的地資料夾

在建置網站時,預設會自動清除 <destination> 的內容。網站未建立的檔案或資料夾會被移除。有些檔案可透過在 <keep_files> 組態指令中指定它們來保留。

不要將重要位置用於 <destination>;請將它用作暫存區,並從那裡將檔案複製到您的網路伺服器。

建置命令選項

設定 選項旗標

重新產生

當檔案修改時啟用網站的自動重新產生。

-w, --[no-]watch

組態

指定設定檔,而不是自動使用 _config.yml。後面的檔案中的設定會覆寫前面檔案中的設定。

--config FILE1[,FILE2,...]

外掛程式

指定外掛目錄,而不是自動使用 _plugins/

plugins_dir: [ DIR1,... ]

-p, --plugins DIR1[,DIR2,...]

版面

指定版面配置目錄,而不是自動使用 _layouts/

layouts_dir: DIR

--layouts DIR

草稿

處理並呈現草稿文章。

show_drafts: BOOL

-D, --drafts

環境

在建置中使用特定的環境值。

JEKYLL_ENV=production

未來

發布日期在未來的文章或集合文件。

future: BOOL

--future

未發布

呈現標記為未發布的文章。

unpublished: BOOL

--unpublished

LSI

產生相關文章的索引。需要 classifier-reborn 外掛。

lsi: BOOL

--lsi

限制文章

限制要解析和發布的文章數量。

limit_posts: NUM

--limit_posts NUM

強制輪詢

強制監控使用輪詢。

force_polling: BOOL

--force_polling

詳細輸出

列印詳細輸出。

verbose: BOOL

-V, --verbose

靜音輸出

在建置期間靜音 Jekyll 的正常輸出。

quiet: BOOL

-q, --quiet

記錄等級

在偵錯、資訊、警告或錯誤中指定記錄等級。

JEKYLL_LOG_LEVEL=info

增量建置

啟用實驗性質的 增量建置 功能。增量建置只會重新建置已變更的文章和頁面,這會大幅提升大型網站的效能,但在某些情況下也可能會中斷網站產生。

incremental: BOOL

-I, --incremental

停用套件要求

停用在 `:jekyll_plugins` Gemfile 中要求 gem 的需求

JEKYLL_NO_BUNDLER_REQUIRE=true

Liquid 分析器

產生 Liquid 渲染分析,以協助您找出效能瓶頸。

profile: 布林值

--profile

嚴格的前置資料

如果頁面前置資料的 YAML 語法有錯誤,將導致建置失敗。

strict_front_matter: 布林值

--strict_front_matter

基本 URL

從指定的 URL 提供網站服務。

baseurl: URL

-b, --baseurl URL

追蹤

在發生錯誤時顯示完整的追蹤記錄。

-t, --trace

提供命令選項

除了以下選項之外,serve 子命令還可以接受 build 子命令的任何選項,這些選項會套用在網站建置中,而網站建置會在網站提供服務之前立即執行。

設定 選項旗標

本機伺服器埠

在指定的埠上監聽。預設為 `4000`。

port: 埠

-P, --port 埠

本機伺服器主機名稱

在指定的主機名稱上監聽。預設為 `localhost`。

host: 主機名稱

-H, --host 主機名稱

即時重新載入

在編輯瀏覽器中的內容時自動重新載入頁面。

livereload: 布林值

-l, --livereload

略過即時重新載入

LiveReload 要略過的檔案 glob 模式。

livereload_ignore: [ GLOB1,... ]

--livereload-ignore GLOB1[,GLOB2,...]

即時重新載入最小/最大延遲

在自動重新載入頁面之前,設定最小/最大延遲。

livereload_min_delay: 秒數
livereload_max_delay: 秒數

--livereload-min-delay 秒數
--livereload-max-delay 秒數

即時重新載入埠

LiveReload 要監聽的埠。

--livereload-port 埠

開啟 URL

在瀏覽器中開啟網站的 URL。

open_url: 布林值

-o, --open-url

分離

將伺服器與終端機分離。

detach: 布林值

-B, --detach

略過初始網站建置

略過伺服器啟動前發生的初始網站建置。

skip_initial_build: 布林值

--skip-initial-build

顯示目錄清單

顯示目錄清單,而非載入索引檔。

show_dir_listing: 布林值

--show-dir-listing

X.509 (SSL) 私密金鑰

SSL 私密金鑰,儲存在網站來源或建立符號連結。

--ssl-key

X.509 (SSL) 證書

SSL 公開證書,儲存在網站來源或建立符號連結。

--ssl-cert

不要在組態檔中使用標籤

這將導致剖析錯誤,或 Jekyll 會回復為預設設定。請改用空白。