Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 886
jcubic Avatar asked Sep 19 '26 15:09

jcubic


2 Answers

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

like image 130
David Jacquel Avatar answered Sep 22 '26 08:09

David Jacquel


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
));

```
like image 42
Jeff Puckett Avatar answered Sep 22 '26 07:09

Jeff Puckett



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!