Basic Usage
The Jekyll gem makes a jekyll
executable available to you in your Terminal window. You can use this command in a number of ways:
jekyll build # => The current folder will be generated into ./_site jekyll build --destination <destination> # => The current folder will be generated into <destination> jekyll build --source <source> --destination <destination> # => The <source> folder will be generated into <destination> jekyll build --watch # => The current folder will be generated into ./_site, # watched for changes, and regenerated automatically.
Override default development settings
Default URL is set to http://localhost:4000
in development environment. 3.3.0
If you want to build for your production environment:
- Set your production URL in
_config.yml
e.g.url: https://example.com
. - Run
JEKYLL_ENV=production bundle exec jekyll build
.
Changes to
_config.yml
are not included during automatic regeneration.The
_config.yml
master configuration file contains global configurations and variable definitions that are read once at execution time. Changes made to_config.yml
during automatic regeneration are not loaded until the next execution.Note Data Files are included and reloaded during automatic regeneration.
Destination folders are cleaned on site builds
The contents of
<destination>
are automatically cleaned, by default, when the site is built. Files or folders that are not created by your site will be removed. Files and folders you wish to retain in<destination>
may be specified within the<keep_files>
configuration directive.Do not use an important location for
<destination>
; instead, use it as a staging area and copy files from there to your web server.
Jekyll also comes with a built-in development server that will allow you to preview what the generated site will look like in your browser locally.
jekyll serve # => A development server will run at http://localhost:4000/ # Auto-regeneration: enabled. Use `--no-watch` to disable. jekyll serve --livereload # LiveReload refreshes your browser after a change. jekyll serve --incremental # Incremental will perform a partial build in order to reduce regeneration time. jekyll serve --detach # => Same as `jekyll serve` but will detach from the current terminal. # If you need to kill the server, you can `kill -9 1234` where "1234" is the PID. # If you cannot find the PID, then do, `ps aux | grep jekyll` and kill the instance.
jekyll serve --no-watch # => Same as `jekyll serve` but will not watch for changes.
These are just a few of the available configuration options. Many configuration options can either be specified as flags on the command line, or alternatively (and more commonly) they can be specified in a _config.yml
file at the root of the source directory. Jekyll will automatically use the options from this file when run. For example, if you place the following lines in your _config.yml
file:
source: _source destination: _deploy
Then the following two commands will be equivalent:
jekyll build jekyll build --source _source --destination _deploy
For more about the possible configuration options, see the configuration page.
Call for help
The
help
command is always here to remind you of all available options and usage, and also works with thebuild
,serve
andnew
subcommands, e.gjekyll help new
orjekyll help build
.
If you’re interested in browsing these docs on-the-go, install the jekyll-docs
gem and run jekyll docs
in your terminal.
© 2008–2018 Tom Preston-Werner and Jekyll contributors
Licensed under the MIT license.
https://jekyllrb.com/docs/usage/