Php code highlight in Jekyll kramdown don't work

Issue

I’m using Jekyll with kramdown and pygments, it work fine for javascript or python code but When I create php like:

{% highlight php %}
header('Content-Type: application/json');

echo json_encode(array(
    'jsonrpc' => "2.0",
    'result' => $result,
    'id' => $request->id,
    'error' => null
));
{% endhighlight %}

Each line is one span with x class:

<code class="language-php" data-lang="php"><span class="x">header('Content-Type: application/json');</span>
<span class="x">echo json_encode(array(</span>
<span class="x">    'jsonrpc' =&gt; "2.0",</span>
<span class="x">    'result' =&gt; $result,</span>
<span class="x">    'id' =&gt; $request-&gt;id,</span>
<span class="x">    'error' =&gt; null</span>
<span class="x">));</span></code>

Why I don’t have tokens with different classes for php code?

Solution

If you want to forget the php opening tag at the beginning of you code block, you have to set the Pygments startinline parameter to true.

{% highlight php startinline=true %}

See Pygments documentation

Answered By – David Jacquel

Answer Checked By – Clifford M. (AngularFixing Volunteer)

Leave a Reply

Your email address will not be published.