使用混合代码在Django中进行Markdown和语法突出显示

时间:2010-01-15 10:31:25

标签: python django syntax-highlighting markdown

我在跟踪字符串时遇到一些问题 尝试语法突出显示它们:

实施例

<code class="php"><? echo "<input type=\"text\">"; ?></code>

php部分正确呈现,但html部分中断。

我使用

中的Markdown和Syntax Highlighting片段

http://www.djangosnippets.org/snippets/119/

知道如何正确地转义php代码中的html部分吗?

2 个答案:

答案 0 :(得分:1)

您需要通过escape过滤器传递PHP / HTML混合代码,以便将<的实例转换为&lt;等。

在模板中使用它,假设您已将代码放在名为mycode的模板上下文变量中:

{{ mycode|escape }}

答案 1 :(得分:1)

Python markdown与进行语法高亮的Pygments集成。

您可以使用突出显示语法的源代码从markdown转到html格式的文本。

简短版本是:

import markdown
html = markdown.markdown(text,['codehilite'])

html包含html格式的文本,其中突出显示了源代码。你只需要指向css样式,就是这样。

查看how to setup markdow and pygments to do syntax highlight for blogger.

在您的解决方案中,您可以只包含对css的引用,这样可以更轻松。