jcubic
jcubic

Reputation: 66490

Php code highlight in Jekyll kramdown don't work

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?

Upvotes: 3

Views: 1581

Answers (2)

Jeff Puckett
Jeff Puckett

Reputation: 40861

As of Aug 8, 2016, From https://github.com/jekyll/jekyll/issues/1633#issuecomment-238383509

We don't support Pygments anymore. We use Rouge.

The new syntax is as follows:

```php?start_inline=true

header('Content-Type: application/json');

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

```

Upvotes: 2

David Jacquel
David Jacquel

Reputation: 52809

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

Upvotes: 8

Related Questions