如何使用flask-flatpages突出显示语法

时间:2017-01-12 11:01:11

标签: python flask jinja2 pygments

我最近使用flask,flask-flatpages和flask-freeze构建了一个网站,我想知道如何在我的markdown文件中使用块代码时突出显示语法。

这些是我安装的软件包:

click (6.6) Flask (0.11.1) Flask-FlatPages (0.6) Frozen-Flask (0.13) itsdangerous (0.24) Jinja2 (2.8) Markdown (2.6.7) MarkupSafe (0.23) pip (9.0.1) Pygments (2.1.3) PyYAML (3.12) setuptools (27.2.0) Werkzeug (0.11.11) wheel (0.29.0)

我网页的平面网页渲染设置如下所示:

def prerender_jinja(text):
    return pygmented_markdown(render_template_string(Markup(text)))

FLATPAGES_EXTENSION =['.md']
FLATPAGES_MARKDOWN_EXTENSION =['codehilite']
FLATPAGES_HTML_RENDERER = prerender_jinja

当我将.md文件转换为.html文件时,为了启用语法高亮,我还需要做些什么?

感谢。

1 个答案:

答案 0 :(得分:0)

来自http://flask-flatpages.readthedocs.io/en/latest/#how-it-works

  

要使用Pygments,您需要单独包含样式声明。你可以用pygments_style_defs()来获取它们:

@app.route('/pygments.css')
def pygments_css():
    return pygments_style_defs('tango'), 200, {'Content-Type': 'text/css'}
     

并在模板中:

     

<link rel="stylesheet" href="{{ url_for('pygments_css') }}">