【问题标题】:How can I apply inline css rules to pandoc html to markdown conversion?如何将内联 css 规则应用于 pandoc html 到降价转换?
【发布时间】:2018-09-18 13:01:27
【问题描述】:

我正在尝试将我的 Html Book(从 PDF 转换而来)转换为 markdown 格式。当我尝试使用以下代码将 HTML 转换为 markdown 时,pandoc 不会将 HTML 内联位置规则(例如(相对,绝对))应用于我的 markdown 输出。

pandoc -f html -t markdown input.html -o output.md

这个功能有什么参数吗?

我尝试使用程序将内联 HTML 提取到外部 CSS 文件,并将 CSS 参数添加到我的命令中,但没有成功。

pandoc -f html -t markdown --css=styles.css input.html -o output.md

【问题讨论】:

    标签: markdown pandoc


    【解决方案1】:

    Pandoc 或 Markdown 无法做到这一点。

    作为用户指南explains(强调添加):

    由于 pandoc 对文档的中间表示不如它在其之间转换的许多格式具有表现力,因此不应期望每种格式之间都能完美转换。 Pandoc 尝试保留文档的结构元素,但不保留格式细节,例如边距大小。并且某些文档元素,例如复杂的表格,可能不适合 pandoc 的简单文档模型。虽然从 pandoc 的 Markdown 到所有格式的转换都渴望完美,但从比 pandoc 的 Markdown 更具表现力的格式转换可能会出现损耗。

    当然,HTML(和 PDF)格式比 Markdown “更具表现力”。因此,在使用 Pandoc 转换这些格式时,大部分格式信息都会丢失。

    提醒一下,Markdown 的 documentation 解释说(强调原文):

    Markdown 不是 HTML 的替代品,甚至更接近它。它的语法非常小,只对应非常小的 HTML 标记子集。 ... HTML 是一种 发布 格式; Markdown 是一种写作 格式。因此,Markdown 的格式化语法只解决了可以用纯文本表达的问题。

    既然如此,Markdown 对 CSS 没有用处或理解。事实上,在 Pandoc 的用户指南中,--css 标志列在Options affecting specific writers 下。换句话说,它只适用于理解并可以使用它的输出格式。此外,请注意,该选项不会生成 CSS 文件,而是指向由用户在外部创建的文件。换句话说,它可以在转换为 HTML(或 EPUB 等)时使用,以指向定义该输出格式的 CSS 文件。但是,对于不理解 CSS(包括 Markdown)的输出格式,该选项(可能)被忽略。

    现在,如果您正在寻找一种提取内联样式并将其导出为生成的 CSS 文件的工具,那么存在这样的工具(Pandoc 不是其中之一)。但是,工具推荐在这里是题外话(而且我没有足够的经验来提出任何建议)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-01
      • 1970-01-01
      • 2019-07-15
      • 2013-12-27
      • 1970-01-01
      • 2016-01-26
      相关资源
      最近更新 更多