---
name: "jekyll"
section: "1"
platform: "linux"
package: "jekyll"
version: "4.3.4+dfsg-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/jekyll"
---

# jekyll(1)

blog-aware, static site generator

## NAME

jekyll - blog-aware, static site generator

## USAGE

**jekyll command \[***options...***\]**

## COMMANDS

- **b, build**

  Build the site from its sources and put the results into the destination directory.

- **clean**

  Remove the destination directory.

- **docs**

  It requires the **jekyll-docs** plugin to be installed.

- **doctor, hyde**

  Search site and print specific any deprecation or configuration issues.

- **help \[***COMMAND***\]**

  Show the help message, optionally for a given subcommand.

- **import**

  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.

- **new \[***PATH***\]**

  Creates a new Jekyll site scaffold in *PATH*.

- **new-theme**

  Creates a new Jekyll theme scaffold

- **s, serve, server**

  Serve the site locally.

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

## OPTIONS

There are some general flags to control Jekyll's behavior. The commands can be controlled further with additional options which are described in their respecitive manual pages.

- **-s, --source \[***DIR***\]**

  Source directory (defaults to *./*). This can also be set in *\_config.yml* via the **source:** option.

- **-d, --destination \[***DIR***\]**

  Destination directory (defaults to *./\_site*). This can also be set in *\_config.yml* via the **destination:** option.

- **-p, --plugins** *PLUGINS\_DIR1***\[,***PLUGINS\_DIR2***\[,***...***\]\]**

  Plugins directory (defaults to *./\_plugins*).

- **--safe**

  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** *DIR*

  Layouts directory (defaults to *./\_layouts*).

- **--profile**

  Generate a Liquid rendering profile.

- **-h, --help**

  Show the help output.

- **-v, --version**

  Print the name and version

- **-t, --trace**

  Show the full backtrace when an error occurs.

## 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

- **JEKYLL\_ENV**

  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

[**jekyll-b**(1)](/jekyll-b/1.md)**,** [**jekyll-build**(1)](/jekyll-build/1.md)**,** [**jekyll-clean**(1)](/jekyll-clean/1.md)**,** **jekyll-docs**(1)**,** [**jekyll-doctor**(1)](/jekyll-doctor/1.md)**,** [**jekyll-help**(1)](/jekyll-help/1.md)**,** [**jekyll-hyde**(1)](/jekyll-hyde/1.md)**,** **jekyll-import**(1)**,** [**jekyll-new**(1)](/jekyll-new/1.md)**,** [**jekyll-new-theme**(1)](/jekyll-new-theme/1.md)**,** [**jekyll-s**(1)](/jekyll-s/1.md)**,** [**jekyll-serve**(1)](/jekyll-serve/1.md)**,** [**jekyll-server**(1)](/jekyll-server/1.md)**,**

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\>
