如何使用flask-flatpages突出显示语法
Posted
技术标签:
【中文标题】如何使用flask-flatpages突出显示语法【英文标题】:how to highlight syntax using flask-flatpages 【发布时间】:2017-01-12 11:01:10 【问题描述】:我最近使用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】:来自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') ">
【讨论】:
我已经尝试过了,但我的代码块仍然没有样式。只是黑色字体。 您是直接在浏览器中打开文件还是启动了网络服务器(即cd build; python -m SimpleHTTPServer
-> 在浏览器中打开localhost:8000)?
我启动了一个网络服务器
啊,好的。解决方案是指定语言。 (当我进行上述样式声明时,我只是突出显示了 html 语法)我基本上将代码粘贴在 Sebastian 的评论中并做了 :::javascript 块代码我想写以上是关于如何使用flask-flatpages突出显示语法的主要内容,如果未能解决你的问题,请参考以下文章
如何在 .ntl 模板文件的 Visual Studio Code 中启用 HTML 语法突出显示?