我已经用Jekyll和Pygments高亮显示了一段时间了。我已经安装了pygments并生成了css文件,但是当我运行Jekyll来生成站点时,代码高亮显示似乎不能正确生成。
下面是我为处理准备的一些示例代码
{% highlight php lineos %}
/**
* Passing by reference
*
* Outputs
*
* 10 - before add() call
* 10 - after add() call
* 15 - after addref() call
*/
$a = 10;
echo $a;
add($a);
echo $a;
addref($a);
echo $a;
function addref(&$a)
{
$a += 5;
}
function add($a)
{
$a += 5;
}
{% endhighlight %}这是Jekyll建立我的网站后的样子。
<div class="highlight"><pre><code class="php"><span class="x">/**</span>
<span class="x"> * Passing by reference</span>
<span class="x"> *</span>
<span class="x"> * Outputs</span>
<span class="x"> *</span>
<span class="x"> * 10 - before add() call</span>
<span class="x"> * 10 - after add() call</span>
<span class="x"> * 15 - after addref() call</span>
<span class="x"> */</span>
<span class="x">$a = 10;</span>
<span class="x">echo $a;</span>
<span class="x">add($a);</span>
<span class="x">echo $a;</span>
<span class="x">addref($a);</span>
<span class="x">echo $a;</span>
<span class="x"> </span>
<span class="x">function addref(&$a)</span>
<span class="x">{</span>
<span class="x"> $a += 5;</span>
<span class="x">}</span>
<span class="x"> </span>
<span class="x">function add($a)</span>
<span class="x">{</span>
<span class="x"> $a += 5;</span>
<span class="x">}</span>
</code></pre>
</div>正如你所看到的,Jekyll似乎将每一行都标记为class="x",我不太确定为什么。
我已经尝试使用来自Github repos的liquid和jekyll,我甚至尝试使用红毯,尽管它与liquid模板处理无关。我已经尝试了我能想到的所有方法,但似乎不能让它工作。
这是我查看我的网站时的实际外观
http://i.stack.imgur.com/kCvLN.png
我正在运行以下版本。
Ruby: ruby 1.9.3p327 (37606-11-10修订版) x86_64-darwin11.4.2
rdiscount: rdiscount (1.6.8)
红毯:红毯(2.2.2)伪装: pygments.rb (0.2.13)
液体:液体(2.4.1)
Jekyll: jekyll (0.11.2)
我刚刚使用了一个redcarpet_markdown.rb插件,并将配置设置设置为使用redcarpet2,我还设置了红毯的扩展。
markdown: redcarpet2
redcarpet:
extensions: ["no_intra_emphasis", "fenced_code_blocks", "autolink", "strikethrough", "superscript", "with_toc_data"]完成后,我将代码突出显示更改为如下所示
```php/**
通过reference
*/
$a = 10;
echo $a;
add($a);
echo $a;
addref($a);
echo $a;
函数addref(&$a)
{
$a += 5;}
函数添加($a)
{
$a += 5;}
然后,我再次尝试生成该站点,并得到了相同的结果。我不确定这是Jekyll引起的问题还是Pygments,但我已经和这个问题斗争了2天。但我现在知道它不是markdown处理器。
如果你有任何想法,我非常愿意尝试任何事情。
发布于 2013-12-14 04:06:53
如果要避免使用Pygment标记,可以指定<?php选项startinline
{% highlight php startinline %}
phpinfo();
{% endhighlight %}通过这种方式,它应该能够正确地呈现(它对我来说是有效的)。
发布于 2012-12-22 23:09:39
看起来您不仅需要在代码块中包含开始标记,而且在PHP中还必须包含
```php/**
通过reference
*/
$a = 10;
echo $a;
add($a);
echo $a;
addref($a);
echo $a;
函数addref(&$a)
{
$a += 5;}
函数添加($a)
{
$a += 5;}
https://stackoverflow.com/questions/13997127
复制相似问题