- name: Site source
description: Change the directory where Jekyll will read files
option: "source: DIR"
flag: -s, --source DIR
- name: Site destination
description: Change the directory where Jekyll will write files
option: "destination: DIR"
flag: -d, --destination DIR
- name: Safe
description: >-
Disable non-whitelisted plugins, caching to disk, and ignore symbolic links.
option: "safe: BOOL"
flag: --safe
- name: Disable disk cache
version-badge: 4.1.0
description: >-
Disable caching of content to disk in order to skip creating a .jekyll-cache
or similar directory at
the source to avoid interference with virtual environments and third-party directory watchers. Caching to disk is
always disabled in safe
mode.
option: "disable_disk_cache: BOOL"
flag: --disable-disk-cache
- name: Ignore theme configuration
version-badge: 4.1.0
description: >-
Jekyll 4.0 started allowing themes to bundle a _config.yml
to simplify theme-onboarding for new users.
In the unfortunate situation that importing a bundled theme configuration messes up the merged site-configuration,
the user can configure Jekyll to not import the theme-config entirely.
option: "ignore_theme_config: BOOL"
- name: Exclude
description: >-
Exclude directories and/or files from the conversion. These exclusions are relative to the site's source directory
and cannot be outside the source directory.
This configuration option supports Ruby's
File.fnmatch
filename globbing patterns to match multiple entries to exclude. For example,
you can exclude multiple README.md files in your source tree from being included in your site by specifying the
following exclude
option entries: ["README.md", "**/README.md"]
.
In Jekyll 3, the exclude
configuration option replaces the default exclusion list.
In Jekyll 4, user-provided entries get added to the default exclusion list instead and the include
option can be used to override the default exclusion list entries.
The default exclusions are found in _config.yml
as created by jekyll new
:
.sass-cache/
.jekyll-cache/
gemfiles/
Gemfile
Gemfile.lock
node_modules/
vendor/bundle/
vendor/cache/
vendor/gems/
vendor/ruby/
.htaccess
is a good example since
dotfiles are excluded by default.
File.fnmatch
filename globbing patterns to match multiple entries to include, refer the
exclude
configuration option for more information.
include
configuration option entries override the exclude
option
entries.
option: "include: [DIR, FILE, ...]"
- name: Keep files
description: >-
When clobbering the site destination, keep the selected files. Useful for files that are not generated by jekyll;
e.g. files or assets that are generated by your build tool. The paths are relative to the destination
.
option: "keep_files: [DIR, FILE, ...]"
- name: Time zone
description: >-
Set the time zone for site generation. This sets the TZ
environment variable, which Ruby uses to handle
time and date creation and manipulation. Any entry from the
IANA Time Zone Database
is valid, e.g. America/New_York
. A list of all available values can be found
here.
When serving on a local machine, the default time zone is set by your operating system. But when served on a remote
host/server, the default time zone depends on the server's setting or location.
option: "timezone: TIMEZONE"
- name: Encoding
description: >-
Set the encoding of files by name (only available for Ruby 1.9 or later). The default value is utf-8
starting in 2.0.0, and nil
before 2.0.0, which will yield the Ruby default of ASCII-8BIT
.
Available encodings can be shown by the command ruby -e 'puts Encoding::list.join("\n")'
.
option: "encoding: ENCODING"