如何将内联css规则应用于pandoc html到markdown转换?

问题描述 投票:5回答:1

我正在尝试将我的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个回答
6
投票

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文件,而是指向由用户在外部创建的CSS文件。换句话说,它可以在转换为HTML(或EPUB等)时指向定义该输出格式的CSS文件。但是,对于不了解CSS(包括Markdown)的输出格式,(可能)忽略该选项。

现在,如果您正在寻找一种提取内联样式并将其作为生成的CSS文件导出的工具,则存在这样的工具(Pandoc不是其中之一)。但是,工具建议在这里是偏离主题的(我无论如何都没有足够的经验来提出任何建议)。

© www.soinside.com 2019 - 2024. All rights reserved.