Usually code snippets wrap the code tag with a pre tag. Looks like markdown is just using a p tag, is this normal?
from markdown2 import Markdown
markdowner = Markdown()
markdowner.convert("```\nthis is code\n```")
u'<p><code>\nthis is code\n</code></p>\n'
Even this website's adding pre tags. How do I add it to markdown?
答案 0 :(得分:1)
这是正常的吗?
是的,受防护的代码块不是标准的Markdown(只有indented code blocks)。但是,inline code spans可以使用任意数量的反引号进行删除(只要打开一个结束的分隔符匹配)。因此,解析器正确地将您的输入解析为内联代码范围,该范围由code
标记内的p
标记组成。当然,如果您插入了任何空白行,那么输出将是多个段落而没有任何代码跨度(因为开始和结束的分隔符将在单独的段落中)。
如何将其添加到markdown?
由于受防护的代码块是非标准Markdown,因此通常需要在支持它们的解析器中启用它们。每个解析器都不同,因此用户应查阅文档以获取其选择的解析器。另一个答案已经涵盖了如何在OP使用的特定解析器中启用它们。
答案 1 :(得分:0)
结果显示markdown2只会将前缀添加到四个空格缩进的内容中。 要添加到上面的示例,请使用:
markdown2.markdown(text, extras=["fenced-code-blocks"])