49

Jekyllでの構文の強調表示は、次のような液体タグとピグメントの使用に制限されているようです。

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

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

redcarpetこのマークダウン構文を使用できることを期待して、Jekyllパーサーをに切り替えました。

```bash
cd ~
```

しかし、それは機能していないようです。通常のcodeブロックでラップするだけです。何か案は?

4

8 に答える 8

24

フェンスで囲まれたブロック はRedcarpet2で導入され ました。Jekyll はRedcarpet2をサポートするように なりました。

余談ですが、 Kramdownのサポートが利用可能に なるまで 、 RougeでRedcarpetを使用して います。

さらに、一部の人々 はジキルよりもナノックを好みます。

于 2012-02-20T19:07:05.277 に答える
19

代替ソリューション

MarkdownはHTMLを許可するので、JSを少し追加してもかまわない場合は、次のようにすることができます。

## A section

Here is some Ruby code.

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

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

これは理想的なソリューションではありませんが、どのMarkdownパーサーでも機能するはずです。

于 2012-08-04T19:16:20.487 に答える
9

シンタックスハイライト用のcoderayに付属しているマークダウンを解析するためにkramdownに切り替えることになりました。これには、herokuで機能する純粋なルビーソリューションであるという利点があります。

于 2011-12-28T22:49:17.993 に答える
7

手順1.Redcarpetをインストールします。

gem install redcarpet

ステップ2.このようにビルド設定を更新します_config.yaml

# Build settings
#markdown: kramdown
markdown: redcarpet
于 2015-03-18T05:12:53.570 に答える
1

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

以下はどうですか?以下のファイルをあなたのファイルとして追加してみてください_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
于 2012-10-15T12:16:02.127 に答える
1

RedcarpetはデフォルトでJekyllに統合されており、コードの強調表示は期待どおりに機能します。

古いJekyllブログの場合:

  1. redcarpetgemをインストールします。

    gem install redcarpet

  2. _config.yamlを更新します

    markdown: redcarpet
    

参照および詳細については、以下を参照してください。

クローズされたGithubの問題

Jekyllコードベースを更新

于 2015-09-29T01:32:32.267 に答える
0

だから私もこの問題に遭遇し、Jekyllでの公式のredcarpet2サポートでようやく実現した多くの場所に頭をぶつけた後、これは非常に簡単です。これを_config.ymlに書き込みます

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

pygments cssファイルがあり、それが含まれていることを確認してください。このステップは重要です。

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

于 2015-10-24T22:29:13.343 に答える
0

トリプルチルダ構文を使用することもできます。

~~~ruby
class Base
  def two
    1 + 1
  end
end
~~~

これはKramdown(Jekyll)によってサポートされています。

于 2018-03-22T23:28:02.953 に答える