Scroll to navigation

JEKYLL(1) User Commands JEKYLL(1)

NAME

jekyll - blog-aware, static site generator

USAGE

jekyll command [options...]

COMMANDS

It requires the jekyll-docs plugin to be installed.
This command allows one to import blog content from various resources as markdown files into the Jekyll ./_post/ and ./_drafts/ structure. It requires the jekyll-import plugin to be installed.
Creates a new Jekyll site scaffold in PATH.
Build the site from its sources and put the results into the destination directory.
Serve the site locally.
Search site and print specific any deprecation or configuration issues.
Remove the destination directory.
Creates a new Jekyll theme scaffold
Show the help message, optionally for a given subcommand.

Plugins like jekyll-compose can provide more commands then documented here.

OPTIONS

There are some general flags to control Jekyll's behavior:

Source directory (defaults to ./). This can also be set in _config.yml via the source: option.
Destination directory (defaults to ./_site). This can also be set in _config.yml via the destination: option.
Plugins directory (defaults to ./_plugins).
Safe mode (defaults to false). This disables custom plugins, and ignores links. This can also be set in _config.yml via the safe: option.
Layouts directory (defaults to ./_layouts).
Generate a Liquid rendering profile.
Show the help output.
Print the name and version
Show the full backtrace when an error occurs.

NEW OPTIONS

The following options control a new site's creation.

Create just the site scaffolding but with empty files.
Force creation of the site even if the default or given destination PATH already exists.
Skip 'bundle install' which is run by default.

BUILD OPTIONS

The following options control the build command.

Use one or more (custom) configuration files instead of or together with _config.yml. Settings specified in later files override earlier definitions.
Serve the website from the given base URL.
Enable incremental rebuilds. Only generate documents and pages that were updated since the previous build. The file .jekyll-metadata keeps track of both file modification times and inter-document dependencies.
Watch for changes and rebuild the changed sites from source. This
Limit the number of posts to parse and publish.
Publish posts or collection documents with a future date.
Process and render posts in the _drafts folder (defaults to no).
Render posts that are marked as unpublished (defaults to no).
Force watch to use polling.
Use a Latent Semantic Indexer (LSI) like classifier-reborn for an improved related posts feature.
Fail the build if errors are present in the front matter.
Silence output.
Print verbose output.

SERVE OPTIONS

Serving a site all options to the build command are supported together with these additional options.

Local server hostname to listen to. The default is 127.0.0.1 or localhost.
Local server port to bind to. The default is 4000.
X.509 (SSL) certificate.
X.509 (SSL) private key.
Run the server in the background.
Skip initial site build which occurs before the server is started.
Launch the site in a browser.
Show a directory listing instead of loading the index file.
Use LiveReload to automatically refresh the browser.
Files for LiveReload to ignore. The values must be quoted so the shell won't expand them.
Minimum reload delay.
Maximum reload delay.
Port for LiveReload to listen on.

NEW THEME OPTIONS

The following options control the new-theme command.

Include a Code of Conduct (defaults to false).

FILES

_config.yml
The main configuration is done by default in the file _config.yml. This file can control both Jekyll's behavior (see OPTIONS) and site/theme configuration variables. If the configuration shall be split or a non-default file shall be used one can use the --config switch to define all configuration files.

See <https://jekyllrb.com/docs/configuration/options/> and <https://jekyllrb.com/docs/configuration/default/>.

ENVIRONMENT

This environment variable defaults to development and can be checked during build via conditional statements to influence the output for example. It usually only affects the build and serve commands. The other well known value is production, but really any value can be assigned.

See <https://jekyllrb.com/docs/configuration/environments/>.

SEE ALSO

There is extensive documentation at <https://jekyllrb.com/docs/>.

AUTHOR

This manual page was originally written by Youhei SASAKI <uwabami@gfd-dennou.org>, for the Debian GNU/Linux system (but may be used by others). It was later updated by Daniel Leidert <dleidert@debian.org>

January 2020 Jekyll 3.8