3

PygmentsシンタックスハイライトパッケージでJekyllを使用すると、次のように書くことができます。

{% highlight clojure %}
(def something :foobar)
{% endhighlight %}

これは、<div>その行を含む構文を生成します-Clojure構文に従って強調表示されます。しかし、段落の途中で構文を強調表示する方法はありますか?書けるようになりたい

In Clojure, keywords like {% highlight clojure %}:foobar{% endhighlight %}
are prepended by colons.

ここでの望ましい動作は、Clojureキーワードが、最初の例でキーワードに使用されたのと同じスタイルを使用して強調表示されることです。しかし、これを実行しようとすると、<div>以前と同じように生成されます。(これは、私が使用しているKramdownマークダウンエンジンに固有のものかもしれませんが、生成されたテキストに「&lt; div>」が表示されるように、divタグ自体はHTMLエスケープされています。)

Jekyll / Pygmentsにこのような「インライン」構文ハイライトを実行させる方法はありますか?

4

4 に答える 4

1

投稿に配置した任意のオブジェクトに CSS クラスを追加できます。

次のような CSS エントリを定義する場合:

.inlined { display:inline; }

次に、このクラスを生成された に追加できます<div>

In Clojure, keywords like 
{% highlight clojure %}:foobar{% endhighlight %}{: .inlined } 
are prepended by colons.

これは、あらゆる種類のオブジェクト (テーブル、画像など) で機能します。今はテストできませんが、これで問題は解決すると思います。

テストするときは、出力 HTML を見てください。<div>次に、class=inlined属性が設定されていることがわかります。

于 2013-11-10T18:38:51.727 に答える
0

nowrapこのオプションを使用して、Pygments がコードをタグでラップしないようにすることができると思いますdiv。したがって、あなたの例は次のようになります。

In Clojure, keywords like 
<span class='highlight'><code class='closure'>
{% highlight clojure nowrap %}:foobar{% endhighlight %}
</code></span>
are prepended by colons.
于 2013-03-07T15:19:38.810 に答える
0

私の簡単な回避策は、Jekyll にコードを前処理させることでした。

<div class="highlight">
    <code class="language-css" data-lang="css">…&lt;/code>
</div>

div をスパンに置き換えた後、目的の場所に貼り付けます。

<span class="highlight">
    <code class="language-css" data-lang="css">…&lt;/code>
</span>    
于 2015-07-19T19:27:14.057 に答える