Markdown2如何让“额外”工作?

时间:2014-09-13 22:43:44

标签: python markdown

我不清楚如何使用python的markdown2库进行语法高亮显示。

text = """```if True: 
print "hello"```"""
markdown2.markdown(text,extras=['fenced-code-blocks'])
u'<p><code>if True:\nprint "hello"</code></p>\n'

似乎&#34;额外&#34; fenced-code-blocks不起作用,因为输出与没有它的情况相同

markdown2.markdown(text)
u'<p><code>if True:\nprint "hello"</code></p>\n'

而输出应该包含要突出显示的css文件的所有span类,例如

<pre><code><span class="k">if</span> <span class="bp">True</span>, etc...

1 个答案:

答案 0 :(得分:2)

目前,问题在于markdown2不知道您的代码所使用的语言是什么,因此不知道如何解析它/添加语法突出显示。您需要将Markdown修改为更明确:

import markdown2

text = """
```python
if True: 
    print "hello"
```
"""

print markdown2.markdown(text,extras=['fenced-code-blocks'])

这会产生以下输出:

<div class="codehilite"><pre><code><span class="k">if</span> <span class="bp">True</span><span class="p">:</span>
    <span class="k">print</span> <span class="s">&quot;hello&quot;</span>
</code></pre></div>

请注意,您还必须安装pygments库,并且必须为最终的HTML文件提供以下CSS files之一。