Skip to main content Link Search Menu Expand Document (external link)

下表列出了 Jekyll 的可用设置,以及各种控制设置的选项(Option)(配置文件中定义)和标记(Flag)(命令行中指定)。

全局配置

设置 选项标记

站点源文件

改变 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

不包含

转换时不包含的目录和(或)文件。这些不包含的东西应该在站点源文件内,不能超出源文件目录范围。

exclude: [DIR, FILE, ...]

包含

转换时强制包含的目录和(或)文件。.htaccess 就是一个好示例,因为点文件默认时不包含的。

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> 文件夹默认会被自动清理。并非由 Jekyll 创建的文件文件夹也会被删除。想要保留的文件可以通过配置命令 <keep_files> 留下来。

不要将 <destination> 放在重要位置;相反,用临时区域来生成并拷贝文件到您的服务器即可。

Build 命令选项

设置 选项标记

重构

开启后当文件修改后系统就会重新生成站点。

-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

Force watch to use polling.

force_polling: BOOL

--force_polling

详细输出

打印详细输出。

verbose: BOOL

-V, --verbose

静默输出

Jekyll 构建站点时使用静默输出。

quiet: BOOL

-q, --quiet

日志等级

指定调试时的日志等级, 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

不使用 Front Matter

如果页面的 Front Matter 因为 YAML 语法错误导致构建失败,可以选择不使用 Front Matter 构建。

strict_front_matter: BOOL

--strict_front_matter

基本 URL

在给定的基本 URL 提供站点服务。

baseurl: URL

-b, --baseurl URL

追踪

当出现错误时显示所有追踪信息。

-t, --trace

Serve 命令选项

除了下面这些选项,serve 子命令可接受 build 子命令的所有选项——这些选项实际上还是应用到了站点服务之前的构建命令之上了。

设置 选项标记

本地服务器端口

指定监听端口。默认是 4000

port: PORT

-P, --port PORT

本地服务器主机名

监听指定主机名。默认为 localhost

host: HOSTNAME

-H, --host HOSTNAME

实时重载

当页面内容有改动时浏览器自动重新加载。

livereload: BOOL

-l, --livereload

忽略实时重载

使用文件 glob 模式忽略实时重载。

livereload_ignore: [ GLOB1,... ]

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

实时重载 min/max 延迟

自动重载页面前的最小/最大延迟时间。

livereload_min_delay: SECONDS
livereload_max_delay: SECONDS

--livereload-min-delay SECONDS
--livereload-max-delay SECONDS

实时重载端口

实时重载监听端口。

--livereload-port PORT

打开 URL

在浏览器打开站点的 URL。

open_url: BOOL

-o, --open-url

分离

将服务器从终端分离。

detach: BOOL

-B, --detach

忽略站点初始构建

在服务器启动前忽略站点的初始构建。

skip_initial_build: BOOL

--skip-initial-build

显示目录列表

显示目录列表,而不是加载首页文件。

show_dir_listing: BOOL

--show-dir-listing

X.509 (SSL) 私有键

SSL 私有键,存储或者链接在站点源文件中。

--ssl-key

X.509 (SSL) 认证

SSL 公共证书,存储或链接在站点源文件中。

--ssl-cert

配置文件中不要使用 Tab

Tab 可能导致解析错误,或者 Jekyll 转用默认值。所以用空格代替。