2012-02-16 36 views
2

PHP的语法高亮显示拒绝在我安装Trac的Wiki页面上工作。它在浏览源代码时效果很好,但不在Wiki中。 JavaScript,C和Python语法突出显示在Wiki中工作,但不是PHP。祸是我。Trac PHP语法高亮显示在Wiki中不起作用

我有Trac 0.11.7安装在Ubuntu 10.04上。我的网络服务器是Apache 2.2.14

我手动安装了Pygments。没有运气。我在首选项中更改了Pygments主题。没有运气。

我在登录tracapache日志时绝对有0个错误。 Trac的日志记录级别设置为WARNING(Trac日志记录正在工作 - 我今天早些时候还有其他错误)。 Firebug在打开所有内容时也不会显示错误(除了一个不相关的“未知属性”-moz-opacity“”CSS错误)。

查看页面的HTML源代码显示代码只是以预格式化文本吐出。它没有<span>的所有其他语法突出显示的代码块。

这是我使用的维基代码:

{{{ 
#!php 
if(true) 
{ 
    echo 'hi'; 
} 
}}} 

这是结果:

<div class="code"><pre><span class="x">if(true) 
{ 
    echo 'hi'; 
} 
</span></pre></div> 

请帮忙:-)


对于我期望的例子,这里有一些工作的JS代码:

{{{ 
#!js 
if(true) 
{ 
    alert('hi'); 
} 
}}} 

这是结果:

<div class="code"><pre><span class="k">if</span><span class="p">(</span><span class="kc">true</span><span class="p">)</span> 
<span class="p">{</span> 
    <span class="nx">alert</span><span class="p">(</span><span class="s1">'hi'</span><span class="p">);</span> 
<span class="p">}</span> 
</pre></div> 

回答

2

我相信你可以通过包括<?php标签解决此问题:

{{{ 
#!php 
<?php 
if(true) 
{ 
    echo 'hi'; 
} 
}}} 

这对我的作品在我的Trac的维基,无论如何。尽管如此,我仍然无法确定这是否是有意的行为或错误。

+0

你是对的。这就是我所错过的。 – 2012-02-16 21:28:54

+0

值得一提的是,如果Trac安装了某些额外的软件包,语法高亮仅适用。 Quote:“[要激活语法着色,只需安装这些包中的一个(或更多)...](http://trac.edgewall.org/wiki/TracSyntaxColoring)” – 2013-10-09 22:52:12

1

不知道为什么这总是发生在我身上。当然,我在发布问题后5分钟就知道了。

问题是,我没有<?php ?>在PHP源代码中,所以语法高亮是把它当作HTML处理;就像PHP解析器一样。

C,Python和JS没有等价的东西,所以这就是为什么他们似乎工作时,PHP没有。

此代码:

{{{ 
#!php 
<?php 
if(true) 
{ 
    echo 'hi'; 
} 
?> 
}}} 

我在这里留下这个问题,如果任何人有同样的问题,尽管我是多么愚蠢的感觉。