gpt4 book ai didi

python - 如何使用 markdown.extensions.attr_list 获取空标签?

转载 作者:太空宇宙 更新时间:2023-11-03 14:05:22 25 4
gpt4 key购买 nike

我正在尝试将微数据添加到我生成的 HTML 中并找到了 attr_list扩大。它几乎完成了我需要的一切。

这是我正在使用的示例代码:

>>> text = """This is a paragraph.
... {: itemscope itemtype="http://schema.org/Movie"}
... """
>>> markdown.markdown(text, extensions=['markdown.extensions.attr_list'])
u'<p itemscope="itemscope" itemtype="http://schema.org/Movie">This is a paragraph.</p>'

我遇到的一个问题是 itemscope="itemscope"。根据examples由 schema.org 提供,它应该只是:

<p itemscope itemtype="http://schema.org/Movie">This is a paragraph.</p>

我得到的最接近的是

text = """This is a paragraph.
... {: itemscope="" itemtype="http://schema.org/Movie"}
... """

生成输出为

u'<p itemscope="" itemtype="http://schema.org/Movie">This is a paragraph.</p>'

有没有办法使用此扩展程序将其保留为裸标签(只是 itemscope 而没有等号)?

最佳答案

使用 html output_format(无论如何你可能想要),而不是默认的 xhtml 格式:

t = """This is a paragraph.
... { itemscope itemtype="http://schema.org/Movie"}
... """
>>> markdown.markdown(t, extensions=['attr_list'], output_format="html")
u'<p itemscope itemtype="http://schema.org/Movie">This is a paragraph.</p>'

由于 Markdown 最初是在 XHTML 刚刚流行时开发的,因此规则和引用实现都需要 XHTML 格式的输出。由于 Python-Markdown 是一个老派的 Markdown 解析器,它也默认将 XHTML 作为默认输出格式(因为 XHTML 规范仅引用 HTML4 spec ,详情请参阅)。

非默认的 html 输出格式最近更新为输出 HTML5 并使用最小化形式。

顺便说一句,您不需要在属性列表中包含冒号(参见我上面的示例)。最近它成为可选的以与其他实现兼容。

关于python - 如何使用 markdown.extensions.attr_list 获取空标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44139942/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com