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 provides support for the following Markdown elements. By default, Jekyll uses the kramdown Markdown processor.
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 is also supported. |
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 | |
Automatic URL Linking | Yes | |
Disabling Automatic URL Linking | Yes | |
HTML | Yes |
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. |
Don't stop now! 😎 Drop in to the Slack chat room and star the GitHub repository. If you liked this and want to receive new Markdown tutorials, enter your email address below. No spam!