我已将Pandoc升级到v2,现在我的一些回归测试失败了.
这是我将自定义属性添加到元素的方式,如下所示:
# Test {role="heading" aria-level="7"}
Run Code Online (Sandbox Code Playgroud)
在早期版本的Pandoc中,这导致了
<h1 role="heading" aria-level="7">Test</h1>
Run Code Online (Sandbox Code Playgroud)
在Pandoc 2中,它是
<h1 data-role="heading" data-aria-level="7">Test</h1>
Run Code Online (Sandbox Code Playgroud)
我怎样才能改回来?两者role和aria-属性都是100%有效的HTML,因此不需要data-前缀.
从 Markdown 到 HTML5 与 HTML4 的转换似乎与 Pandoc 有所不同。
使用他们的测试编辑器,HTML4 转换效果非常好。
然而,当我们切换到 HTML5 时,属性的数据部分会被注入。
这让我认为这要么是出于 HTML4 和 HTML5 之间的差异而故意这样做的,要么是潜在的 Pandoc bug,您可能应该在他们的 github 问题跟踪器中向他们提出问题: https ://github.com/ jgm/pandoc/问题
从 Pandoc 文档 - html 默认为 html5,如下所示:
html或html5([HTML],即 [HTML5]/XHTML [多语言标记])html4([XHTML] 1.0 过渡)
更新:
看起来这是因为 HTML5 规范 - “role”和“aria”属性本身不再出现在属性列表中。参考: https: //developer.mozilla.org/en-US/docs/Web/HTML/Attributes
所以这不是Pandoc 的错误 - 这是预期的行为。我的建议是,使用 html4 转换就是你的答案。
感谢评论中的@Caramiriel 在Pandoc 代码中提供了额外的参考。
| 归档时间: |
|
| 查看次数: |
159 次 |
| 最近记录: |