2012-02-16 39 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'; 
} 
?> 
}}} 

我在這裏留下這個問題,如果任何人有同樣的問題,儘管我是多麼愚蠢的感覺。