我已将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>
如何更改? role
和aria-
属性都是100%有效的HTML,因此不需要data-
前缀。
答案 0 :(得分:1)
从Markdown到HTML5与HTML4的转换与Pandoc似乎有所不同。
使用他们的测试编辑器,HTML4转换可以很好地工作。
Pandoc HTML4 Conversion Example
但是,当我们切换到HTML5时,属性的data-部分将被注入。
Pandoc HTML5 Conversion Example
这使我认为这是有意为之,因为HTML4和HTML5之间存在差异,或者它可能是Pandoc错误,您应该在其github问题跟踪器中向他们提出问题:https://github.com/jgm/pandoc/issues
在Pandoc文档中-html默认为html5,如下所示:
html
或html5
([HTML],即[HTML5] / XHTML [polyglot标记])html4
([XHTML] 1.0过渡版)
更新:
由于HTML5规范,这看起来像是IS-“ role”和“ aria”属性本身不再位于属性列表中。参考:https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes
所以这不是是Pandoc的错误-这是预期的行为。我的建议是,使用html4转换是您的答案。
感谢评论中的@Caramiriel,以便在Pandoc code中获得更多参考。