The various Markdown renderers supported by Jekyll sometimes have extra options available.
Kramdown is the default Markdown renderer for Jekyll. Below is a list of the currently supported options:
Please note that both
remove_span_html_tags are currently unsupported in Jekyll due
to the fact that they are not included within the kramdown HTML converter.
For more details about these options have a look at the Kramdown configuration documentation.
CommonMark is a rationalized version of Markdown syntax, implemented in C and thus faster than default Kramdown implemented in Ruby. It slightly differs from original Markdown and does not support all the syntax elements implemented in Kramdown, like Block Inline Attribute Lists.
It comes in two flavors: basic CommonMark with jekyll-commonmark plugin and GitHub Flavored Markdown supported by GitHub Pages.
Redcarpet can be configured by providing an
extensions sub-setting, whose
value should be an array of strings. Each string should be the name of one of
Redcarpet::Markdown class’s extensions; if present in the array, it will
set the corresponding extension to
Jekyll handles two special Redcarpet extensions:
no_fenced_code_blocks— By default, Jekyll sets the
fenced_code_blocksextension (for delimiting code blocks with triple tildes or triple backticks) to
true, probably because GitHub’s eager adoption of them is starting to make them inescapable. Redcarpet’s normal
fenced_code_blocksextension is inert when used with Jekyll; instead, you can use this inverted version of the extension for disabling fenced code.
Note that you can also specify a language for highlighting after the first delimiter:
```ruby # ...ruby code ```
With both fenced code blocks and highlighter enabled, this will statically
highlight the code; without any syntax highlighter, it will add a
class="LANGUAGE" attribute to the
<code> element, which can be used as a
smart— This pseudo-extension turns on SmartyPants, which converts straight quotes to curly quotes and runs of hyphens to em (
---) and en (
All other extensions retain their usual names from Redcarpet, and no renderer
options aside from
smart can be specified in Jekyll. A list of available
extensions can be found in the Redcarpet README file.
Make sure you’re looking at the README for the right version of
Redcarpet: Jekyll currently uses v3.2.x. The most commonly used
If you’re interested in creating a custom markdown processor, you’re in luck! Create a new class in the
class Jekyll::Converters::Markdown::MyCustomProcessor def initialize(config) require 'funky_markdown' @config = config rescue LoadError STDERR.puts 'You are missing a library required for Markdown. Please run:' STDERR.puts ' $ [sudo] gem install funky_markdown' raise FatalException.new("Missing dependency: funky_markdown") end def convert(content) ::FunkyMarkdown.new(content).convert end end
Once you’ve created your class and have it properly set up either as a plugin
_plugins folder or as a gem, specify it in your