- 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 <a href="/docs/plugins/">non-whitelisted plugins</a>, 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 <code>.jekyll-cache</code> or similar directory at
    the source to avoid interference with virtual environments and third-party directory watchers. Caching to disk is
    always disabled in <code>safe</code> 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 <code>_config.yml</code> 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.
    <br />
    This configuration option supports Ruby's <a href="https://ruby-doc.org/3.3.5/File.html#method-c-fnmatch">
    <code>File.fnmatch</code> filename globbing patterns</a> 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 <code>exclude</code> option entries: <code>["README.md", "**/README.md"]</code>.
    <br />
    In Jekyll 3, the <code>exclude</code> configuration option replaces the default exclusion list.
    <br />
    In Jekyll 4, user-provided entries get added to the default exclusion list instead and the <code>include</code>
    option can be used to override the default exclusion list entries.
    <br />
    The default exclusions are found in <code>_config.yml</code> as created by <code>jekyll new</code>:
    <ul>
      <li><code>.sass-cache/</code></li>
      <li><code>.jekyll-cache/</code></li>
      <li><code>gemfiles/</code></li>
      <li><code>Gemfile</code></li>
      <li><code>Gemfile.lock</code></li>
      <li><code>node_modules/</code></li>
      <li><code>vendor/bundle/</code></li>
      <li><code>vendor/cache/</code></li>
      <li><code>vendor/gems/</code></li>
      <li><code>vendor/ruby/</code></li>
    </ul>
  option: "exclude: [DIR, FILE, ...]"


- name: Include
  description: >-
    Force inclusion of directories and/or files in the conversion. <code>.htaccess</code> is a good example since
    dotfiles are excluded by default.
    <br>
    This configuration option supports Ruby's <a href="https://ruby-doc.org/3.3.5/File.html#method-c-fnmatch-3F">
    <code>File.fnmatch</code> filename globbing patterns</a> to match multiple entries to include, refer the
    <code>exclude</code> configuration option for more information.
    <br>
    With Jekyll 4, the <code>include</code> configuration option entries override the <code>exclude</code> 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 <code>destination</code>.
  option: "keep_files: [DIR, FILE, ...]"


- name: Time zone
  description: >-
    Set the time zone for site generation. This sets the <code>TZ</code> environment variable, which Ruby uses to handle
    time and date creation and manipulation. Any entry from the
    <a href="https://en.wikipedia.org/wiki/Tz_database">IANA Time Zone Database</a>
    is valid, e.g. <code>America/New_York</code>. A list of all available values can be found
    <a href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones"> here</a>.
    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 <code>utf-8</code>
    starting in 2.0.0, and <code>nil</code> before 2.0.0, which will yield the Ruby default of <code>ASCII-8BIT</code>.
    Available encodings can be shown by the command <code>ruby -e 'puts Encoding::list.join("\n")'</code>.
  option: "encoding: ENCODING"
