【发布时间】:2014-08-04 12:40:53
【问题描述】:
我正在尝试使用 Pygments/Markdown 使用户能够在我正在使用 Flask 进行的项目中留下格式化的代码块。我遇到的问题是 Pygments 正在格式化所有内容。
我想在文本上调用 Markdown,以便将 <code> 标签添加到文本中,然后让 Pygments 仅格式化 <code> 标签中的文本。这是我尝试过的。
@app.route('/')
def show_entries():
entries = get_all_entries()
lexer = PythonLexer()
lexer.add_filter('codetagify')
formatter = HtmlFormatter()
for entry in entries:
entry['text'] = markdown.markdown(entry['text'])
entry['text'] = highlight(entry['text'], lexer, formatter)
return render_template('list_entries.html', entries=entries)
entries 是字典列表,entry['text'] 是帖子的正文。在这种配置中发生的事情是 Pygments 显示所有格式化的 html,而不是允许浏览器呈现它。我认为添加 codetagify 过滤器会阻止这种形式的发生。关于我需要做些什么来实现这一目标的任何想法?
【问题讨论】:
标签: python flask markdown pygments