当我从客户端转换到服务器端呈现时,我遇到了python markdown和markedjs之间的差异
考虑以下降价:
**bold text**
* list item 1
* list item 2
* list item 3
markedjs将优雅地创建一个无序列表html列表:
<p>
<strong>bold text</strong>
</p>
<ul>
<li>item 1</li>
<li>item 2</li>
<li>item 3</li>
</ul>
python markdown创建:
<p>
<strong>bold text</strong>
<em> item1</em> item2
* item3
</p>
这里的问题似乎是python markdown(在markdown.pl之后)不接受缺少的空行,而是将第一个列表项与粗体标记一起考虑
有没有办法配置python markdown来优雅地处理这种情况,即用户不会对奇怪的html输出感到惊讶
提前谢谢
你可以写一个扩展名。Python Markdown的extension API提供了对整个解析器的访问,这样您就可以重写它的任何部分。因此,如果您想更改bahavior,这样就不需要一个空行来启动一个列表,您可以用自己的替换相应的
blockprocessors
请注意,Python Markdown开发人员明确表示stated他们对支持Commonmark不感兴趣。因此,任何使Python标记符合Commonmark的工作都需要作为第三方扩展来完成
关于被识别为强调的列表项,这是一个bug,我刚刚报告为issue#783。谢谢你引起我们的注意
完全披露:我是Python Markdown的首席开发人员
在本例中,Python Markdown的行为适用于John Gruber的原始代码(您可以在Markdown projects website测试它)。也许您可以为Python Markdown编写一个扩展来更改行为
您还可以查看python-markdown2,它们有一个选项可以更改解析器的行为,以接受不带换行符的列表(拥抱列表):
这将导致:
相关问题 更多 >
编程相关推荐