markdown - Pandoc:HTML-to-Markdown——我可以使用模板或脚本替换元素吗?

标签 markdown pandoc

我成功地将 HTML 转换为 Markdown,但元素如 <span class="cmd">被保留并出现在 MD 结果中。

有没有办法,也许通过使用模板或 Pandoc 脚本来替换 <span>带有 <strong> 的元素甚至在 HTML 到 Markdown 的转换过程中使用星号?

例如:

我要更换

<span class="cmd">This content must be bold</span>

<strong>This content must be bold</strong>

*This content must be bold*

非常感谢。

最佳答案

你可以改编 this pandoc filter .将其保存为 cmd_italics.py 并运行 pandoc myfile.html -o myfile.md -F cmd_italics.py

#!/usr/bin/env python

from pandocfilters import toJSONFilter, Strong


def cmd_italics(key, value, format, meta):
    if key == 'Span':
        [[ident, classes, kvs], contents] = value
        for c in classes:
            if c == "cmd":
                return Strong(contents)

if __name__ == "__main__":
    toJSONFilter(cmd_italics)

您将需要 pandocfilter python library安装。

关于markdown - Pandoc:HTML-to-Markdown——我可以使用模板或脚本替换元素吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34817960/

相关文章:

html - 使用 Pandoc 将 Markdown 链接转换为 HTML

python - 使用 python Popen 和 pandoc 解析 html 时不需要的新行?

pandoc - pandoc 在 Windows 上安装在哪里?

github - 如何在 github 中创建 .md 文件?

markdown - Markdown 中的语义标记

markdown - 如何在 Markdown 中逃避双破折号?

python - 如何使用 Sphinx 从包含表格的 Markdown 渲染 HTML

GitHub Markdown - 添加当前分支名称

r - 如何在 Rmarkdown 中添加跨 block 的行号?

r - 使用 Brew、Pander 和 R 自动化 LaTeX 报告