配置选项

下表列出了 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: BOOL

--disable-disk-cache

忽略主题配置 4.1.0

Jekyll 4.0 开始允许主题捆绑 _config.yml,以简化新用户对主题的了解。在导入捆绑的主题配置搞乱合并的网站配置的不幸情况下,用户可以配置 Jekyll 以完全不导入主题配置。

ignore_theme_config: BOOL

排除

从转换中排除目录和/或文件。这些排除项相对于网站的源目录,且不能位于源目录之外。
在 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: [DIR, FILE, ...]

包含

强制在转换中包含目录和/或文件。`htaccess` 是一个很好的示例,因为点文件在默认情况下被排除在外。使用 Jekyll 4,`include` 配置选项条目会覆盖 `exclude` 选项条目。

include: [DIR, FILE, ...]

保留文件

在覆盖网站目标时,保留选定的文件。对于未由 jekyll 生成的文件非常有用;例如,由构建工具生成的资产或文件。路径相对于 `destination`。

keep_files: [DIR, FILE, ...]

时区

设置网站生成的时区。这会设置 `TZ` 环境变量,Ruby 使用该变量来处理时间和日期的创建和操作。IANA 时区数据库 中的任何条目都是有效的,例如 `America/New_York`。可以在 此处 找到所有可用值列表。在本地计算机上提供服务时,默认时区由操作系统设置。但在远程主机/服务器上提供服务时,默认时区取决于服务器的设置或位置。

timezone: TIMEZONE

编码

按名称设置文件的编码(仅适用于 Ruby 1.9 或更高版本)。从 2.0.0 开始,默认值为 `utf-8`,在 2.0.0 之前为 `nil`,这会产生 Ruby 的 `ASCII-8BIT` 默认值。可以通过命令 `ruby -e 'puts Encoding::list.join("\n")'` 显示可用编码。

encoding: ENCODING

默认值

设置 front matter 变量的默认值。

请参阅 下方

在网站构建时清理目标文件夹

在默认情况下,在构建网站时会自动清理 `<destination>` 的内容。将删除未由您的网站创建的文件或文件夹。可以通过在 `<keep_files>` 配置指令中指定一些文件来保留这些文件。

不要将 <destination> 用作重要位置;而是将其用作临时区域,并将文件从那里复制到您的 Web 服务器。

构建命令选项

设置 选项标志

重新生成

在文件修改时启用网站的自动重新生成。

-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

强制轮询

强制 watch 使用轮询。

force_polling: BOOL

--force_polling

详细输出

打印详细输出。

verbose: BOOL

-V, --verbose

静默输出

在构建期间使 Jekyll 的正常输出静默。

quiet: BOOL

-q, --quiet

日志级别

在 debug、info、warn 或 error 中指定日志级别。

JEKYLL_LOG_LEVEL=info

增量构建

启用实验性 增量构建 功能。增量构建仅重新构建已更改的帖子和页面,从而为大型网站带来显著的性能提升,但在某些情况下也可能中断网站生成。

incremental: BOOL

-I, --incremental

禁用 bundle require

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

JEKYLL_NO_BUNDLER_REQUIRE=true

Liquid 分析器

生成 Liquid 渲染配置文件,以帮助您识别性能瓶颈。

profile: BOOL

--profile

严格的前置内容

如果页面的前置内容中存在 YAML 语法错误,则导致构建失败。

strict_front_matter: BOOL

--strict_front_matter

基本网址

从给定的基本网址提供网站服务。

baseurl: 网址

-b, --baseurl 网址

跟踪

当错误发生时显示完整的回溯。

-t, --trace

提供命令选项

除了以下选项外,serve 子命令还可以接受 build 子命令的任何选项,这些选项随后应用于在提供网站服务之前发生的网站构建。

设置 选项标志

本地服务器端口

在给定的端口上监听。默认值为 `4000`。

端口:端口

-P, --端口 端口

本地服务器主机名

在给定的主机名上监听。默认值为 `localhost`。

主机:主机名

-H, --主机 主机名

实时重新加载

当编辑其内容时,在浏览器中自动重新加载页面。

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 端口

打开网址

在浏览器中打开网站的网址。

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 将恢复到默认设置。请改用空格。