4

Jekyll で、Markdown コンバーターを kramdown に設定するとbundle exec jekyll serve、このフェンスで囲まれたコード ブロック

```javascript
function hey(name) {
    return 'Hey ' + name;
}

console.log(hey('Brienna'));
```

次のようにレンダリングします。 クラムダウン

これは私が何をしても起こります。オプションを設定してみましたinput: GFMが、入っていても入っていなくても違いはありません。

ただし、Markdown コンバーターを Redcarpet に設定すると、同じコード ブロックが次のようにレンダリングされます。 1回の出演

これは私が見たいものです!しかし、Redcarpet は使いたくありません。クラムダウンを使いたい。

以下のレンダリングされた HTML からわかるように、コード ブロックが強調表示されます。Rouge が使用できるはずの Pygments 用の CSS スタイルシートを使用しています。divのクラスが Markdown コンバーター間で変更されていることに気付きました。kramdown では、そのクラスは ですが.highlighter-rouge、Redcarpet では、そのクラスはただhighlightです。Markdown コンバーターを切り替える場合、CSS を手動で変更する必要がありますか?

クラムダウン:

クラムダウン要素

レッドカーペット:

1 要素

4

1 に答える 1

1

Pigments CSS ファイルは次のようになります。

.highlight { font-size: 13px; }
div.highlight, div.highlight code, div.highlight pre  { background: #29281e; }
div.highlight code { padding: 0; }
div.highlight .c { color: #75715e } /* Comment */

Kramdown の出力では、.highlightブロックはもはや ではない<div>ため、CSS からすべての「div」インスタンスを削除するだけで、構文の強調表示が復元されます。

おまけ: 特に をターゲットにしなくても<div>、CSS は両方の Markdown プロセッサの出力で動作するようになりました。


フェンシングされたコード ブロックが Kramdown で機能するには、GitHub Flavored Markdown の認識をオンにする必要があります。

kramdown:
  input: GFM

Jekyll_config.ymlは実行時に 1 回だけ読み取ることに注意してください。jekyll serveさらに変更を適用するには、再起動する必要があります。

于 2016-03-03T03:56:32.520 に答える