Python -makrdown 包的 codehilite 扩展导致无法显示小于号<和大于号>

2018-11-24 21:56:06 +08:00
 XIVN1987

想用 Python-makrdown 包把 markdown 文件转换成 html 在网页上显示

markdown 中的有部分内容有

    <Post 'learn c'>
    <Post 'learn Py'>
    <Post 'learn Flask'>

转换后生成的 html 中,对应部分变成了

<pre><code>&lt;Post 'learn c'&gt;
&lt;Post 'learn Py'&gt;
&lt;Post 'learn Flask'&gt;
</code></pre>

在网页上这部分内容会正常显示成如下

<Post 'learn c'>
<Post 'learn Py'>
<Post 'learn Flask'>

同样的 markdown 内容,使能 codehilite 扩展后生成的 html 内容变成了

<div class="codehilite"><pre><span></span>&amp;lt;Post &#39;learn c&#39;&amp;gt;
&amp;lt;Post &#39;learn Py&#39;&amp;gt;
&amp;lt;Post &#39;learn Flask&#39;&amp;gt;
</pre></div>

此 html 内容在网页上显示如下

&lt;Post 'learn c'&gt;
&lt;Post 'learn Py'&gt;
&lt;Post 'learn Flask'&gt;

不明白 codehilite 扩展为什么要做这种多余的 escape(),,哪位知道怎么处理??

1630 次点击
所在节点    Python
2 条回复
xuanli
2018-11-25 09:22:45 +08:00
有使用 jinja2 之类的话可以尝试过滤器 safe
XIVN1987
2018-11-25 10:51:42 +08:00
问题找到了,,原来是新版本引入了 bug,,详情在此: https://github.com/Python-Markdown/markdown/issues/725

修复版本还未发布,,下载老版本试了下没有此问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/511185

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX