Jekyll
Jekyll static site generator config file
_config.yml
Validate
Check your file against this schema
Opens the validator with this schema already loaded. Paste your
_config.yml and it validates in your browser — nothing is uploaded.
Reference
Fields
Generated directly from the schema, following local
$refs, to two levels of nesting.
| Field | Type | Description |
|---|---|---|
source | string | A directory to read files from for the current site https://jekyllrb.com/docs/configuration/options/#global-configuration default: "." |
destination | string | A directory to write files to for the current site https://jekyllrb.com/docs/configuration/options/#global-configuration default: "./_site" |
safe | boolean | Whether to enable non-whitelisted plugins and symbolic links for the current site https://jekyllrb.com/docs/configuration/options/#global-configuration default: false |
disable_disk_cache | boolean | Whether to disable caching to disk for the current site https://jekyllrb.com/docs/configuration/options/#global-configuration |
ignore_theme_config | boolean | Whether to ignore a theme configuration for the current site https://jekyllrb.com/docs/configuration/options/#global-configuration |
exclude | array<string> | Excluded directories and files from the conversion for the current site https://jekyllrb.com/docs/configuration/options/#global-configuration default: ["Gemfile", "Gemfile.lock", "node_modules"… |
include | array<string> | Included directories and files in the conversion for the current site https://jekyllrb.com/docs/configuration/options/#global-configuration default: [".htaccess"] |
keep_files | array<string> | Keeped files when clobbering for the current site https://jekyllrb.com/docs/configuration/options/#global-configuration default: [".git", ".svn"] |
timezone | oneOf | Copy of definition from https://www.schemastore.org/base.json#/definitions/nullable-timezone |
encoding | string | An encoding for the current site https://jekyllrb.com/docs/configuration/options/#global-configuration default: "UTF-8"one of: "ASCII-8BIT", "UTF-8", "utf-8", "US-ASCII", "UTF-16BE", "UTF-16LE" … (+97) |
defaults | array<object> | The front matter defaults https://jekyllrb.com/docs/configuration/options/#global-configuration |
plugins_dir | oneOf | Plugin directories for the current site https://jekyllrb.com/docs/configuration/options/#build-command-options |
layouts_dir | oneOf | Layout directories for the current site https://jekyllrb.com/docs/configuration/options/#build-command-options |
show_drafts | boolean | null | Copy of definition from https://www.schemastore.org/base.json#/definitions/nullable-boolean |
future | boolean | Whether to publish posts or collection documents with a future date for the current site https://jekyllrb.com/docs/configuration/options/#build-command-options default: false |
unpublished | boolean | Whether to publish posts that were marked as unpublished for the current site https://jekyllrb.com/docs/configuration/options/#build-command-options default: false |
lsi | boolean | Whether to produce an index for related posts for the current site https://jekyllrb.com/docs/configuration/options/#build-command-options default: false |
limit_posts | integer | A number of posts to publish for the current site https://jekyllrb.com/docs/configuration/options/#build-command-options default: 0 |
force_polling | boolean | Whether to use polling for the current site https://jekyllrb.com/docs/configuration/options/#build-command-options |
quiet | boolean | Whether to hide a normal output while building for the current site https://jekyllrb.com/docs/configuration/options/#build-command-options default: false |
verbose | boolean | Whether to write a verbose output while building for the current site https://jekyllrb.com/docs/configuration/options/#build-command-options default: false |
incremental | boolean | Whether to enable the experimental incremental build feature for the current site https://jekyllrb.com/docs/configuration/options/#build-command-options default: false |
profile | boolean | Whether to render profile generation to help identify performance bottlenecks for the current site https://jekyllrb.com/docs/configuration/options/#build-command-options |
strict_front_matter | boolean | Whether to fail build if there is a YAML syntax error in a page's front matter for the current site https://jekyllrb.com/docs/configuration/options/#build-command-options default: false |
baseurl | string | A base URL for the current site https://jekyllrb.com/docs/configuration/options/#build-command-options default: "" |
port | integer | A port to listen on for the current site https://jekyllrb.com/docs/configuration/options/#serve-command-options default: 4000 |
host | string | A hostname to listen on for the current site https://jekyllrb.com/docs/configuration/options/#serve-command-options default: "localhost" |
livereload | boolean | Whether to reload pages on the browser when its content was changed for the current site https://jekyllrb.com/docs/configuration/options/#serve-command-options default: false |
livereload_ignore | array<string> | File glob patterns for LiveReload to ignore for the current site https://jekyllrb.com/docs/configuration/options/#serve-command-options |
livereload_min_delay | integer | A minimum delay before automatically reloading page for the current site https://jekyllrb.com/docs/configuration/options/#serve-command-options |
livereload_max_delay | integer | A maximum delay before automatically reloading page for the current site https://jekyllrb.com/docs/configuration/options/#serve-command-options |
open_url | boolean | Whether to open a site's URL in the browser for the current site https://jekyllrb.com/docs/configuration/options/#serve-command-options |
detach | boolean | Whether to detach a server from a terminal for the current site https://jekyllrb.com/docs/configuration/options/#serve-command-options default: false |
skip_initial_build | boolean | Whether to skip an initial site build which occurs before the server is started for the current site https://jekyllrb.com/docs/configuration/options/#serve-command-options default: false |
show_dir_listing | boolean | Whether to show directory listing instead of an index file for the current site https://jekyllrb.com/docs/configuration/options/#serve-command-options default: false |
collections | oneOf | The collections to group several site pages https://jekyllrb.com/docs/collections/ |
collections_dir | string | A directory where to store collections for the current site https://jekyllrb.com/docs/collections/#setup default: "." |
data_dir | string | A directory to store data files for the current site https://jekyllrb.com/docs/configuration/default/ default: "_data" |
includes_dir | string | An includes directory for the current site https://jekyllrb.com/docs/configuration/default/ default: "_includes" |
markdown_ext | string | Markdown extensions for the current site https://jekyllrb.com/docs/configuration/default/ default: "markdown,mkdown,mkdn,mkd,md" |
whitelist | array<string> | Whitelisted plugins for the current site https://jekyllrb.com/docs/configuration/default/ default: [] |
plugins | array<string> | Enabled plugins for the current site https://jekyllrb.com/docs/configuration/default/ default: [] |
markdown | string | A markdown processor for the current site https://jekyllrb.com/docs/configuration/default/ default: "kramdown" |
highlighter | string | A syntax highlighter for the current site https://jekyllrb.com/docs/configuration/default/ default: "rouge" |
excerpt_separator | string | A post excerpt separator for the current site https://jekyllrb.com/docs/configuration/default/ default: "\n\n" |
permalink | string | The global permalink format https://jekyllrb.com/docs/permalinks/#global default: "date" |
paginate_path | string | A destination of the pagination pages for the current site https://jekyllrb.com/docs/configuration/default/ default: "/page:num" |
kramdown | object | kramdown options https://kramdown.gettalong.org/documentation.html |
kramdown.input | string | The selected kramdown processor https://jekyllrb.com/docs/configuration/markdown/ default: "GFM" |
kramdown.hard_wrap | boolean | Enable/disable interpreting line breaks literally https://github.com/kramdown/parser-gfm#options default: false |
kramdown.gfm_quirks | array<string> | Enabled GFM quirks https://github.com/kramdown/parser-gfm#options default: ["paragraph_end"] |
kramdown.gfm_emojis | boolean | Enable/disable rendering emoji amidst GFM https://github.com/kramdown/parser-gfm#options default: false |
kramdown.gfm_emoji_opts | object | Configuration for rendering emoji amidst GFM https://github.com/kramdown/parser-gfm#options default: {} |
kramdown.gfm_emoji_opts.asset_path | string | Remote location of emoji assets default: "https://github.githubassets.com/images/icons/emoji" |
kramdown.auto_id_prefix | string | The prefix used for automatically generated header IDs https://kramdown.gettalong.org/converter/html.html default: "" |
kramdown.auto_id_stripping | boolean | Strip/leave all formatting from header text for automatic ID generation https://kramdown.gettalong.org/converter/html.html default: false |
kramdown.auto_ids | boolean | Enable/disable automatic header ID generation https://kramdown.gettalong.org/converter/html.html default: true |
kramdown.entity_output | string | The entity output https://kramdown.gettalong.org/converter/html.html default: "as_char"one of: "as_char", "as_input", "numeric", "symbolic" |
kramdown.footnote_backlink | string | The text that should be used for the footnote backlinks https://kramdown.gettalong.org/converter/html.html default: "↩" |
kramdown.footnote_backlink_inline | string | Enable/disable inlining of the footnote backlink https://kramdown.gettalong.org/converter/html.html default: false |
kramdown.footnote_nr | integer | The number of the first footnote https://kramdown.gettalong.org/converter/html.html default: 1 |
kramdown.footnote_prefix | string | The prefix for footnote IDs https://kramdown.gettalong.org/options.html default: "" |
kramdown.forbidden_inline_options | array<string> | The options that may not be set using the {::options} extension https://kramdown.gettalong.org/options.html default: ["template"] |
kramdown.header_offset | integer | The output offset for headers https://kramdown.gettalong.org/options.html default: 0 |
kramdown.html_to_native | boolean | Enable/disable HTML elements to native elements conversion https://kramdown.gettalong.org/parser/kramdown.html default: false |
kramdown.latex_headers | string | The LaTeX commands for different header levels https://kramdown.gettalong.org/options.html default: "section,subsection,subsubsection,paragraph,subparagraph,sub… |
kramdown.line_width | integer | The line width when outputting the document https://kramdown.gettalong.org/options.html default: 72 |
kramdown.link_defs | oneOf | The pre-defined link definitions default: {} |
kramdown.math_engine | string | The math engine https://kramdown.gettalong.org/converter/html.html default: "mathjax" |
kramdown.math_engine_opts | object | The math engine options https://kramdown.gettalong.org/converter/html.html default: {} |
kramdown.parse_block_html | boolean | Enable/disable processing kramdown syntax in block HTML tags https://kramdown.gettalong.org/parser/kramdown.html default: false |
kramdown.parse_span_html | boolean | Enable/disable processing kramdown syntax in span HTML tags https://kramdown.gettalong.org/parser/kramdown.html default: true |
kramdown.remove_block_html_tags | boolean | Enable/disable removing block HTML tags https://kramdown.gettalong.org/options.html default: true |
kramdown.remove_line_breaks_for_cjk | boolean | Leave/remove line breaks between CJK characters https://kramdown.gettalong.org/converter/html.html default: false |
kramdown.remove_span_html_tags | boolean | Enable/disable removing span HTML tags https://kramdown.gettalong.org/options.html default: false |
kramdown.smart_quotes | string | The HTML entity names or code points for smart quote output https://kramdown.gettalong.org/converter/html.html default: "lsquo,rsquo,ldquo,rdquo" |
kramdown.syntax_highlighter | string | null | The syntax highlighter https://kramdown.gettalong.org/converter/html.html default: "rouge" |
kramdown.syntax_highlighter_opts | object | The syntax highlighter options https://kramdown.gettalong.org/converter/html.html default: {} |
kramdown.template | string | The name of an ERB template file that should be used to wrap the output or the ERB template itself https://kramdown.gettalong.org/converter/html.html default: "" |
kramdown.toc_levels | anyOf | The levels that are used for the table of contents https://kramdown.gettalong.org/converter/html.html |
kramdown.transliterated_header_ids | boolean | Enable/disable transliterating header text before generating the ID https://kramdown.gettalong.org/converter/html.html default: false |
kramdown.typographic_symbols | object | The mapping from typographical symbol to output characters https://kramdown.gettalong.org/converter/html.html |
kramdown.typographic_symbols.hellip | string | Typographical symbol https://kramdown.gettalong.org/converter/html.html |
kramdown.typographic_symbols.mdash | string | Typographical symbol https://kramdown.gettalong.org/converter/html.html |
kramdown.typographic_symbols.ndash | string | Typographical symbol https://kramdown.gettalong.org/converter/html.html |
kramdown.typographic_symbols.laquo | string | Typographical symbol https://kramdown.gettalong.org/converter/html.html |
kramdown.typographic_symbols.raquo | string | Typographical symbol https://kramdown.gettalong.org/converter/html.html |
kramdown.typographic_symbols.laquo_space | string | Typographical symbol https://kramdown.gettalong.org/converter/html.html |
kramdown.typographic_symbols.raquo_space | string | Typographical symbol https://kramdown.gettalong.org/converter/html.html |
liquid | object | Liquid options https://jekyllrb.com/docs/configuration/liquid/ |
liquid.error_mode | string | The response to errors https://jekyllrb.com/docs/configuration/liquid/ default: "warn"one of: "lax", "warn", "strict" |
liquid.strict_filters | boolean | Enable/disable non-existing filters catch https://jekyllrb.com/docs/configuration/liquid/ default: false |
liquid.strict_variables | boolean | Enable/disable non-assigned variables catch https://jekyllrb.com/docs/configuration/liquid/ default: false |
sass | object | Sass options https://github.com/jekyll/jekyll-sass-converter#configuration-options |
sass.style | string | The style of CSS-output https://github.com/jekyll/jekyll-sass-converter#configuration-options default: "expanded"one of: "compressed", "expanded" |
sass.sass_dir | string | The path with Sass partials https://github.com/jekyll/jekyll-sass-converter#configuration-options default: "_sass" |
sass.load_paths | array<string> | The additional paths with Sass partials https://github.com/jekyll/jekyll-sass-converter#configuration-options default: [] |
sass.fatal_deprecations | array<string> | An array of deprecations or versions to treat as fatal. https://github.com/jekyll/jekyll-sass-converter#configuration-options default: [] |
sass.future_deprecations | array<string> | An array of active deprecations to ignore. https://github.com/jekyll/jekyll-sass-converter#configuration-options default: [] |
sass.silence_deprecations | array<string> | An array of future deprecations to opt into early. https://github.com/jekyll/jekyll-sass-converter#configuration-options default: [] |
sass.sourcemap | string | Control when source maps shall be generated https://github.com/jekyll/jekyll-sass-converter#configuration-options default: "always"one of: "never", "always", "development" |
sass.quiet_deps | boolean | If true, Sass does not print warnings that are caused by dependencies https://github.com/jekyll/jekyll-sass-converter#configuration-options default: false |
sass.verbose | boolean | If true, Sass prints every deprecation warning it encounters https://github.com/jekyll/jekyll-sass-converter#configuration-options default: false |
webrick | object | WEBrick options https://docs.ruby-lang.org/en/2.4.0/WEBrick.html |
webrick.headers | object | The custom headers for this site https://docs.ruby-lang.org/en/2.4.0/WEBrick.html |
rdiscount | object | RDiscount options https://rdoc.info/github/davidfstr/rdiscount/RDiscount |
rdiscount.extensions | array<string> | The enabled extensions https://rdoc.info/github/davidfstr/rdiscount/RDiscount |
redcarpet | object | Redcarpet options https://github.com/vmg/redcarpet |
redcarpet.extensions | array<string> | The enabled extensions https://github.com/vmg/redcarpet#and-its-like-really-simple-to-use |
Audit
What we found in this schema
- Declared draft: draft-07
- Validates cleanly against its own meta-schema.
- Has 1 place(s) where keywords sit beside
$ref. Under draft-07 those keywords are silently ignored by every conforming validator — first at#/properties/show_drafts. - 123 properties, 98% carrying a description, max nesting depth 11.
Standards
Specification sections for the keywords in this schema
| Keyword | Document | Section |
|---|---|---|
$comment | JSON Schema Core, draft 2020-12 | §8.3 — Comments With "$comment" |
$id | JSON Schema Core, draft 2020-12 | §8.2.1 — The "$id" Keyword |
$ref | JSON Schema Core, draft 2020-12 | §8.2.3.1 — Direct References with "$ref" |
$schema | JSON Schema Core, draft 2020-12 | §8.1.1 — "$schema" |
additionalProperties | JSON Schema Core, draft 2020-12 | §10.3.2.3 — "additionalProperties" |
default | JSON Schema Validation, draft 2020-12 | §9.2 — "default" |
description | JSON Schema Validation, draft 2020-12 | §9.1 — "title" and "description" |
enum | JSON Schema Validation, draft 2020-12 | §6.1.2 — "enum" |
examples | JSON Schema Validation, draft 2020-12 | §9.5 — "examples" |
items | JSON Schema Core, draft 2020-12 | §10.3.1.2 — "items" |
minLength | JSON Schema Validation, draft 2020-12 | §6.3.2 — "minLength" |
minimum | JSON Schema Validation, draft 2020-12 | §6.2.4 — "minimum" |
oneOf | JSON Schema Core, draft 2020-12 | §10.2.1.3 — "oneOf" |
patternProperties | JSON Schema Core, draft 2020-12 | §10.3.2.2 — "patternProperties" |
properties | JSON Schema Core, draft 2020-12 | §10.3.2.1 — "properties" |
type | JSON Schema Validation, draft 2020-12 | §6.1.1 — "type" |
uniqueItems | JSON Schema Validation, draft 2020-12 | §6.4.3 — "uniqueItems" |
Documents
- JSON Schema Core, draft 2020-12 — JSON Schema: A Media Type for Describing JSON Documents, A. Wright, H. Andrews, B. Hutton, G. Dennis, Eds., 2022. draft-bhutton-json-schema-01. An expired Internet-Draft with no formal standing in the IETF standards process; it is nonetheless the specification of record for JSON Schema 2020-12, published by json-schema.org.
- JSON Schema Validation, draft 2020-12 — JSON Schema Validation: A Vocabulary for Structural Validation of JSON, A. Wright, H. Andrews, B. Hutton, Eds., 2022.
- RFC 8259 (STD 90) — The JavaScript Object Notation (JSON) Data Interchange Format, T. Bray, Ed., 2017. The format a schema describes.
- RFC 6901 — JavaScript Object Notation (JSON) Pointer. Defines the pointer syntax used by $ref fragments and the ~0 / ~1 escapes.
Source
Attribution
This schema comes from SchemaStore, distributed under the Apache License 2.0. Copyright 2015–present Mads Kristensen and contributors. View the original file. The field table and audit on this page are generated by JSONTools.tools; the schema itself is unmodified.