Trac PHP 语法突出显示在 Wiki 中不起作用

发布于 2025-01-05 23:50:01 字数 1468 浏览 0 评论 0原文

在我安装的 Trac 中,PHP 语法突出显示拒绝在 Wiki 页面上工作。它在浏览源代码时效果很好,但在 Wiki 中则不然。 Javascript、C 和 Python 语法突出显示可以在 Wiki 中使用,但 PHP 不行。祸哉是我。

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

我已经手动安装了 Pygments。运气不好。我已经在首选项中更改了 Pygments 主题。运气不好。

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

查看该页面的 HTML 源代码会发现代码只是以预先格式化的文本形式输出。它没有所有其他语法高亮代码块所具有的大量

这是我在 Wiki 中使用的代码:

{{{
#!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>

Syntax highlighting for PHP refuses to work on Wiki pages in my installation of Trac. It works beautifully when browsing source, but not in the Wiki. Javascript, C, and Python syntax highlighting work in the Wiki, but not PHP. Woe is me.

I have Trac 0.11.7 installed on Ubuntu 10.04. My web server is Apache 2.2.14.

I have manually installed Pygments. No luck. I have changed the Pygments Theme in preferences. No luck.

I have absolutely 0 errors logged in the trac and apache logs. Logging level for Trac is set to WARNING (and Trac logging is working - I have other errors from earlier today). Firebug also displays no error with everything turned on (except one unrelated "Unknown property '-moz-opacity'" CSS error).

Viewing the HTML source of the page shows that the code is simply spit out as preformatted text. It does not have the tons of <span>'s all other syntax-highlighted code blocks have.

This is the code I'm using in the Wiki:

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

And this is the result:

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

Please help :-)


For an example of what I would expect, here's some JS code that works:

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

And this is the result:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

烈酒灼喉 2025-01-12 23:50:01

我相信您可以通过包含 标签来解决此问题:

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

无论如何,这对我的 Trac wiki 有效。不过,我仍然无法确定这是预期行为还是错误。

I believe you can resolve this by including the <?php tag:

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

That works for me on my Trac wiki, anyhow. I still haven't been able to determine if this is intended behavior or a bug, though.

故事还在继续 2025-01-12 23:50:01

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

问题是我的 php 源代码中没有 ,因此语法荧光笔将其视为 HTML;就像 PHP 解析器一样。

C、Python 和 JS 没有对应的语言,所以这就是为什么它们似乎可以工作,而 PHP 却不能。

这段代码有效:

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

我将这个问题留在这里,以防其他人也遇到同样的问题,尽管我感觉自己多么愚蠢。

Don't know why this always happens to me. Of course I figure it out 5 minutes after posting the question.

The problem was that I didn't have <?php ?> in the php source, so the syntax-highlighter was treating it like HTML; just like the PHP parser.

C, Python, and JS don't have an equivalent, so that's why they seemed to work when PHP didn't.

This code works:

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

I'm leaving this question here in case anyone else has the same problem, despite how stupid I feel.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文