首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jekyll Pygments加工

Jekyll Pygments加工
EN

Stack Overflow用户
提问于 2012-12-22 05:01:22
回答 2查看 1.5K关注 0票数 9

我已经用Jekyll和Pygments高亮显示了一段时间了。我已经安装了pygments并生成了css文件,但是当我运行Jekyll来生成站点时,代码高亮显示似乎不能正确生成。

下面是我为处理准备的一些示例代码

代码语言:javascript
复制
{% 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建立我的网站后的样子。

代码语言:javascript
复制
<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(&amp;$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,我还设置了红毯的扩展。

代码语言:javascript
复制
markdown: redcarpet2
redcarpet:
  extensions: ["no_intra_emphasis", "fenced_code_blocks", "autolink", "strikethrough", "superscript", "with_toc_data"]

完成后,我将代码突出显示更改为如下所示

代码语言:javascript
复制
```php

/**

通过reference

  • Outputs

  • 10传递的
  • -在add()调用之前
  • 10-在add()调用
  • 15之后-在addref()调用之后

*/

$a = 10;

echo $a;

add($a);

echo $a;

addref($a);

echo $a;

函数addref(&$a)

{

代码语言:javascript
复制
$a += 5;

}

函数添加($a)

{

代码语言:javascript
复制
$a += 5;

}

代码语言:javascript
复制

然后,我再次尝试生成该站点,并得到了相同的结果。我不确定这是Jekyll引起的问题还是Pygments,但我已经和这个问题斗争了2天。但我现在知道它不是markdown处理器。

如果你有任何想法,我非常愿意尝试任何事情。

EN

回答 2

Stack Overflow用户

发布于 2013-12-14 04:06:53

如果要避免使用Pygment标记,可以指定<?php选项startinline

代码语言:javascript
复制
{% highlight php startinline %}

phpinfo();

{% endhighlight %}

通过这种方式,它应该能够正确地呈现(它对我来说是有效的)。

票数 17
EN

Stack Overflow用户

发布于 2012-12-22 23:09:39

看起来您不仅需要在代码块中包含开始标记,而且在PHP中还必须包含

代码语言:javascript
复制
```php

/**

通过reference

  • Outputs

  • 10传递的
  • -在add()调用之前
  • 10-在add()调用
  • 15之后-在addref()调用之后

*/

$a = 10;

echo $a;

add($a);

echo $a;

addref($a);

echo $a;

函数addref(&$a)

{

代码语言:javascript
复制
$a += 5;

}

函数添加($a)

{

代码语言:javascript
复制
$a += 5;

}

代码语言:javascript
复制
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13997127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档