Pandoc - HTML to Markdown - 删除所有属性

tra*_*jan 6 pandoc

这似乎是一件简单的事情,但我一直无法找到答案。我正在使用 Pandoc 从 HTML 转换为 Markdown,我想从 HTML 中删除所有属性,例如“class”和“id”。

Pandoc 中是否有选项可以执行此操作?

Clé*_*ent 15

考虑input.html

<h1 class="test">Hi!</h1>
<p><strong id="another">This is a test.</strong></p>
Run Code Online (Sandbox Code Playgroud)

然后,pandoc input.html -t gfm-raw_html -o output.md

产生output.md

# Hi!

**This is a test.**
Run Code Online (Sandbox Code Playgroud)

没有-t gfm-raw_html,你会得到

# Hi! {#hi .test}

**This is a test.**
Run Code Online (Sandbox Code Playgroud)

这个问题其实和这个问题很相似。我不认为 pandoc 会保留id属性。

  • markdown_github-raw_html 现已弃用,可以用 gfm 替换 (3认同)
  • 尽管由于“markdown_github”已被弃用,“markdown_github-raw_html”已被弃用,但您可以使用“gfm-raw_html”代替。 (3认同)

tar*_*leb 6

您可以使用Lua 过滤器删除所有属性和类。将以下内容保存到文件remove-attr.lua并使用--lua-filter=remove-attr.lua.

function remove_attr (x)
  if x.attr then
    x.attr = pandoc.Attr()
    return x
  end
end

return {{Inline = remove_attr, Block = remove_attr}}
Run Code Online (Sandbox Code Playgroud)