2011-12-27 7 views
40

ジキルで強調表示する構文はそうのような液体タグとpygmentsの使用に制限されているように思える:構文(液体のタグを使用せずに)ジキルに値下げコードブロックを強調

{% highlight bash %} 
cd ~ 
{% endhighlight %} 

しかし、私はから私の既存のブログをインポートしましたそれはマークダウン(マークダウンコードブロックを使用して)で書かれており、私は各投稿を通過してコードブロックを修正する必要はありません。また、ブログプラットフォームを再び切り替える必要がある場合に備えて、自分の投稿を純粋なマークダウン形式にしたいと考えています。

私は、このマークダウン構文を使用することができることを期待してredcarpetに私のジキルパーサを切り替える:

```bash 
cd ~ 
``` 

しかし、動作するようには思えません。通常のcodeブロックにのみラップします。何か案は?

+4

私はちょうどこのオープンチケット気づい:https://github.com/mojombo/jekyll/issues/427 – markquezada

+0

公式ドキュメントを:http://jekyllrb.com/docs/posts/#highlighting-code-snippets –

答えて

8

coderayという構文強調表示のマークダウンを解析するためにkramdownに切り替わりました。これは、ヒロク上で動作する純粋なルビーソリューションであるという利点があります。 Redcarpet 2.ジキルと

+2

はこれを行いますgithubのghページで作業しますか? – cboettig

+5

ありがとうございます。 kramdownはチルダ付きの囲まれたブロックを認識しても、「r」を認識しないようです。 – cboettig

+0

@mirthlabは数学とコードのために非常にうまくいっているようです。 –

20

フェンス付きブロック were introduced now supports Redcarpet 2.

可能です Kramdown support まではさておき、私は Rouge でRedcarpetを使用していたよう。

さらにいくつかの人々はジキルに Nanoc を好む。

+1

最近、Nanocを使用していて、たくさん好きです。 –

15

代替ソリューション

値下げはHTMLを許可するので、あなたは、JSのビットを追加する気にしないならば、あなたはこれを行うことができます:

## A section 

Here is some Ruby code. 

<pre> 
    <code class="ruby"> 
    puts "hello" 
    </code> 
</pre> 

次に追加しHighlight.js(ドキュメントhere)を使用することができますそのクラスに基づいて強調表示します。

これは理想的な解決策ではありませんが、Markdownパーサーでも使用できます。

1

最新のジキルサポートコードブロックでは、古いバージョンを使用する場合は、ハックする必要があります。

以下はどうですか? あなた_plugin/triple-backtick.rb

module Jekyll 
    class MarkdownConverter 
    alias :old_convert :convert 
    def convert(content) 
     content.gsub!(/(?:^|\n)```(\w*)\n(.*\n)```\n/m) do |text| 
     cls = $1.empty? ? "prettyprint" : "prettyprint lang-#{$1}" 
     "<pre class=\"#{cls}\"><code>#{$2}</code></pre>" 
     end 
     old_convert(content) 
    end 
    end 
end 
0

としての下記のファイルを追加しようと、私はあなたのジキル駆動サイトに適切な形式のコードスニペットを追加する2つの代替ソリューションを説明してきました。 http://demisx.github.io/jekyll/2014/01/13/improve-code-highlighting-in-jekyll.html。彼らはサードパーティのプラグインに依存せず、無料のGitHub Pagesホスティングと互換性があります。

3

ステップ1.インストールRedcarpet

gem install redcarpet 

ステップ2.このようなあなたの_config.yamlでビルド設定を更新します。

# Build settings 
#markdown: kramdown 
markdown: redcarpet 
1

RedcarpetはデフォルトでJekyllに統合されており、コードハイライトは期待どおり機能します。古いジキルブログの

  1. redcarpet宝石インストール:

    gem install redcarpet

  2. 更新referencについては

    markdown: redcarpet 
    

_config.yamlをEと、さらに情報を参照してください。

Updated Jekyll Codebase

0

Closed Github Issueだから私もこの問題に遭遇し、最終的にはジキル公式redcarpet2のサポートで実現多くの場所のまわりで私の頭を叩いた後に、この非常に単純です。 あなたはpygments CSSファイルを持っており、それが含まれていることを確認してください

# Conversion 
markdown: redcarpet 
highlighter: pygments 
redcarpet: 
    extensions: ["no_intra_emphasis", "fenced_code_blocks", "autolink", "strikethrough", "superscript"] 

あなた_config.ymlでこれを書きます。この手順は重要です。

詳細については、私のブログ投稿http://blog.championswimmer.in/2015/10/jekyllsyntax-highlighting-in-github-favoured-markdown-codeblocks/を読むことができます。

+2

ブログ投稿へのリンクが壊れています – sieste

関連する問題