Jekyll is a static site generator that takes Markdown files and converts them to a website. Jekyll is a free and open-source application written in the Ruby programming language. Thousands of websites, including the Markdown Guide, rely on Jekyll to convert Markdown source files to HTML output. GitHub Pages uses Jekyll as the backend for its free website creation service.

By default, Jekyll uses the kramdown Markdown processor with stock settings, but you can enable other kramdown options or even switch Jekyll to another Markdown processor. See the Jekyll Markdown configuration options documentation for more information. You can change Jekyll’s kramdown settings in the _config.yml file. The settings for the Markdown Guide are shown below.

kramdown:
  syntax_highlighter: rouge
  input: GFM
  auto_ids:       true
  toc_levels:     1..3

Jekyll Markdown Support

Jekyll provides support for the following Markdown elements.

Element Support Notes
Headings Yes
Paragraphs Yes
Line Breaks Yes
Bold Yes
Italic Yes
Blockquotes Yes
Ordered Lists Yes
Unordered Lists Yes
Code Yes
Horizontal Rules Yes
Links Yes
Images Yes
Tables Yes
Fenced Code Blocks Yes
Syntax Highlighting Yes Make sure that syntax_highlighter: rouge is in the kramdown section of the _config.yml file.
Footnotes Yes
Heading IDs Yes
Definition Lists Yes
Strikethrough Yes You can use two tildes (~~word~~) or one tilde (~word~) — both work.
Task Lists Yes
Emoji (copy and paste) Yes
Emoji (shortcodes) No Not supported by default, but you can use the jemoji plugin to enable support.
Highlight No
Subscript No
Superscript No
Automatic URL Linking Yes
Disabling Automatic URL Linking Yes
HTML Yes

Support for Additional Syntax Elements

As an added bonus, Jekyll provides support for several obscure elements.

Element Markdown Rendered Output
Abbreviation *[HTML]: Hyper Text Markup Language
The HTML specification is maintained by the W3C.
The HTML specification is maintained by the W3C.

See Also