gpt4 book ai didi

markdown - "data-"前缀被添加到自定义属性,如何防止这种情况?

转载 作者:行者123 更新时间:2023-12-04 12:51:30 26 4
gpt4 key购买 nike

我已将 Pandoc 升级到 v2,但我的一些回归测试现在失败了。

这是我向元素添加自定义属性的地方,如下所示:

# Test {role="heading" aria-level="7"}

在早期版本的 Pandoc 中,这导致
<h1 role="heading" aria-level="7">Test</h1>

在 Pandoc 2 中,它是
<h1 data-role="heading" data-aria-level="7">Test</h1>

我怎样才能把它改回来?两个 rolearia-属性是 100% 有效的 HTML,所以没有 data-需要前缀。

最佳答案

从 Markdown 到 HTML5 与 HTML4 的转换似乎与 Pandoc 有所不同。

使用他们的测试编辑器,HTML4 转换工作得非常好。

Pandoc HTML4 Conversion Example

但是,当我们切换到 HTML5 时,属性的数据部分会被注入(inject)。

Pandoc HTML5 Conversion Example

这让我认为这要么是有意完成的,因为 HTML4 和 HTML5 之间的差异,要么它可能是一个 Pandoc 错误,你可能应该在他们的 github 问题跟踪器中向他们提出问题:https://github.com/jgm/pandoc/issues

从 Pandoc docs - html 默认为 html5,如下所示:

  • html or html5 ([HTML], i.e. [HTML5]/XHTML [polyglot markup])
  • html4 ([XHTML] 1.0 Transitional)


更新:

看起来这是因为 HTML5 规范——“role”和“aria”属性本身不再在属性列表中。引用: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes

所以这个 不是 Pandoc 的错误 - 这是预期的行为。我的建议,使用 html4 转换是你的答案。

感谢@Caramiriel 在评论中提供更多引用 Pandoc code .

关于markdown - "data-"前缀被添加到自定义属性,如何防止这种情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48429998/

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