Markdownオプション
Jekyllでサポートされている様々なMarkdownレンダラーには、追加のオプションがある場合があります。
Kramdown
KramdownはJekyllのデフォルトMarkdownレンダラーです。以下は現在サポートされているオプションのリストです。
- auto_id_prefix - 自動的に生成された見出しのIDのプレフィックス
 - auto_id_stripping - 自動ID生成のために見出しテキストからすべてのフォーマットを削除
 - auto_ids - 自動見出しID生成を使用
 - coderay_bold_every - 行番号を太字にする頻度を定義
 - coderay_css - 強調表示されたコードのスタイル設定方法の定義
 - coderay_default_lang - ハイライトコードブロックのデフォルト言語を設定
 - coderay_line_number_start - 行番号の開始番号
 - coderay_line_numbers - 行番号を表示するかの定義
 - coderay_tab_width - 強調表示されたコードのtabの長さ
 - coderay_wrap - 強調表示されたコードをどのように折り返すかを定義
 - enable_coderay - 構文の強調表示にcoderayを使う
 - entity_output - エンティティの出力方法を定義
 - footnote_backlink - 脚注のバックリンクに使用するテキストを定義
 - footnote_backlink_inline - 脚注のバックリンクを常にインラインにするかどうかを指定
 - footnote_nr - 最初の脚注の番号
 - gfm_quirks - GFM特有の癖のセットを有効にします
 - hard_wrap - 改行を文字通りに解釈する
 - header_offset - ヘッダの出力オフセットを設定します
 - html_to_native - HTML要素をネイティブ要素に変換する
 - line_width - 文書を出力するときに使用される線の長さを定義
 - link_defs - リンク定義を事前定義
 - math_engine - mathエンジンの設定
 - math_engine_opts - mathエンジンのオプションを設定
 - parse_block_html - blockHTMLタグでkramdown構文を処理する
 - parse_span_html - spanHTMLタグでkramdown構文を処理する
 - smart_quotes - スマートクォート出力用のHTMLエンティティ名またはコードポイントを定義
 - syntax_highlighter - シンタックスハイライトの設定
 - syntax_highlighter_opts - シンタックスハイライトのオプションの設定
 - toc_levels - 目次に使用されるレベルを定義
 - transliterated_header_ids - IDを生成する前にヘッダテキストを音訳する
 - typographic_symbols - 活版印刷シンボルから出力文字へのマッピングを定義
 
使用例
kramdown:
  html_to_native: true
サポートされていないkramdownオプションが2つあります
    remove_block_html_tagsとremove_span_html_tagsは、kramdown HTMLコンバータに含まれていないため、現在Jekyllではサポートされていません。
  
これらのオプションの詳細は、Kramdown configuration documentationをご覧ください。
CommonMark
CommonMarkはMarkdown構文の合理化バージョンであり、Cで実装されているため、Rubyで実装されているデフォルトのKramdownよりも高速です。元のMarkdownとは少し異なり、Block Inline Attribute ListsのようにKramdownで実装されているすべての構文要素をサポートするわけではありません。
jekyll-commonmarkプラグインを使った基本CommonMarkとGitHub PagesでサポートされているGitHub Flavored Markdownの2種類があります。
Redcarpet
Redcarpetは、文字列の配列のextensionsサブ設定を提供することによって、設定することができます。 各文字列は、Redcarpet::Markdownクラスの拡張の名前でなければなりません。配列内に存在する場合は、対応する拡張子をtrueに設定します。
Jekyllは2つの特別なRedcarpet拡張を扱えます。
- 
no_fenced_code_blocks— デフォルトで、Jekyllは(チルダ3つまたはバッククォート3つでコードブロックを区切るため)fenced_code_blocks拡張をtrueに設定しています。おそらく、GitHubが積極的に採用しており、不可避の設定になってきています。Redcarpetの通常のfenced_code_blocksはJekyllで使用するときは無効です。——言い換えれば、区切られたコードを無効にするためにこの反転の拡張を使用できます。 
最初の区切り文字の後に言語のハイライトを設定できます。
```ruby
# ...ruby code
```
コードブロックとハイライトは共に有効にできます。これはコードを静的にハイライトします。シンタックスハイライトがない場合は、<code>要素に class =" LANGUAGE "属性を追加します。これは様々なJavaScriptコードハイライトライブラリでヒントとして使用できます。
- 
smart— この擬似拡張はSmartyPantsを有効にします。これは、ストレート引用符を中引用符に変換し、ハイフンをem(---)とen(--)ダッシュとします。 
他のすべての拡張はRedcarpetからの通常の名前を保持しており、Jekyllではsmart以外のレンダラオプションは指定できません。利用可能な拡張のリストはRedcarpetのREADMEファイルにあります。Redcarpetの正しいバージョンのREADMEを見ていることを確認してください:Jekyllは現在v3.2.xを使っています。 最も一般的に使用されている拡張は次のとおりです。
tablesno_intra_emphasisautolink
カスタムMarkdownプロセス
カスタムmarkdownプロセッサの作成に興味があるなら、あなたは運がいいです! Jekyll::Converters::Markdownネームスペースに新しいクラスを作成します。
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
一度クラスを作成し、_pluginsフォルダのプラグインかgemとして適切に設定したら、_config.ymlで指定します。
markdown: MyCustomProcessor