早上好!
我正在遵循 Pandoc: 避免段落或向段落添加 css 类? 的教程,但这并不能解决我的问题。我还查看了另一个问题:当 docx 转换为 markdown 时,禁用 pandoc 将图像的替代文本转换为段落。
这是小代码:
1. Lorem ipsum dolor sit amet consectetur adipisicing elit. Hic, reprehenderit.
2. Lorem ipsum dolor sit, amet consectetur adipisicing elit:
![example](assets/images/iuacessos-preferences.png)
3. Lorem ipsum dolor sit amet consectetur adipisicing elit. Enim voluptates similique ab doloremque delectus veniam.
我运行了以下命令:
pandoc bug.md -f markdown_github+fenced_divs-implicit_figures-native_divs+raw_html -t html -o bug.md
这是输出:
<ol>
<li>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Hic,
reprehenderit.</p>
</li>
<li>
<p>Lorem ipsum dolor sit, amet consectetur adipisicing elit:</p>
<p><img src="assets/images/iuacessos-preferences.png" alt="example" /></p>
</li>
<li>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Enim
voluptates similique ab doloremque delectus veniam.</p>
</li>
</ol>
您可以看到 Pandoc 在每一行、每个元素中添加了
p
元素,包括 li
元素。它还在 p
元素中添加了 img
,并将 p + img
嵌套在 li
元素内。
代码应该是这样的:
<ol>
<li>Lorem ipsum dolor sit amet consectetur adipisicing elit. Hic, reprehenderit.</li>
<li>Lorem ipsum dolor sit, amet consectetur adipisicing elit:</li>
<img src="assets/images/iuacessos-preferences.png" alt="example" />
<li>Lorem ipsum dolor sit amet consectetur adipisicing elit. Enim voluptates similique ab doloremque delectus veniam.</li>
</ol>
优雅、干净。不同的是,GitHub 具有完全相同的输出,不会用
p
元素包裹每一行,并且不会将图像嵌套在 li
元素内。
请注意,我主要使用
markdown_github
,因为它比其他 Pandoc Markdown 变体支持更多功能。
请注意,最近的 pandoc 版本说
Deprecated: markdown_github. Use gfm instead.
所以你应该使用的是:
pandoc -f gfm -o bug.html bug.md
它将使用与 github 本身使用的完全相同的 Markdown 解析器。
请注意,您在“代码应该类似于”下发布的 HTML 无效,因为
<ol>
只能将 <li>
作为直接子级。也许你的意思是:
<ol>
<li>Lorem ipsum dolor sit amet consectetur adipisicing elit. Hic, reprehenderit.</li>
<li>
Lorem ipsum dolor sit, amet consectetur adipisicing elit:
<img src="assets/images/iuacessos-preferences.png" alt="example" />
</li>
<li>Lorem ipsum dolor sit amet consectetur adipisicing elit. Enim voluptates similique ab doloremque delectus veniam.</li>
</ol>
为此
pandoc -f html -t gfm
给出了正确的降价:
1. Lorem ipsum dolor sit amet consectetur adipisicing elit. Hic,
reprehenderit.
2. Lorem ipsum dolor sit, amet consectetur adipisicing elit:
![example](assets/images/iuacessos-preferences.png)
3. Lorem ipsum dolor sit amet consectetur adipisicing elit. Enim
voluptates similique ab doloremque delectus veniam.
如果您想知道为什么图像周围有
<p>
:
摘自手册:
段落是一行或多行文本,后跟一个或多个空白行。
以及为什么您会在
列表项周围看到
<p>
:
项目符号列表是项目符号列表项的列表。项目符号列表项以项目符号(*、+ 或 -)开头。这是一个简单的例子:
* one * two * three
这将产生一个“紧凑”列表。如果您想要一个“松散”列表,其中每个项目都格式化为一个段落,请在项目之间添加空格:
* one * two * three