markdown2不向代码段添加<pre>

2024-06-25 05:24:55 发布

您现在位置:Python中文网/ 问答频道 /正文

通常代码片段用一个pre标记包装代码标记。看起来markdown只是用了一个p标签,这正常吗?你知道吗

from markdown2 import Markdown
markdowner = Markdown()
markdowner.convert("```\nthis is code\n```")
u'<p><code>\nthis is code\n</code></p>\n'

甚至这个网站也在添加前置标签。如何将其添加到降价中?你知道吗


Tags: 代码from标记importconvertis网站code
2条回答

is this normal?

是的,受限制的代码块不是标准的标记(只有indented code blocks是)。但是,inline code spans可以用任意数量的反勾号来消除(只要两个开始的和结束的消除符匹配)。因此,解析器正确地将您的输入解析为内联代码范围,内联代码范围由code标记和p标记组成。当然,如果您插入了任何空行,那么输出将是没有任何代码跨度的多个段落(因为开头和结尾的除味器将在单独的段落中)。你知道吗

How do I add it to markdown?

由于fenced代码块是非标准的标记,因此通常需要在支持它们的解析器中启用它们。每个解析器都是不同的,因此用户应该查阅文档以选择解析器。另一个答案已经涵盖了如何在OP使用的特定解析器中启用它们

原来markdown2只在缩进了四个空格的部分加上pre。 要添加到上述示例中,请使用:

markdown2.markdown(text, extras=["fenced-code-blocks"])

Reference

相关问题 更多 >