使用 Pandoc 从 HTML 转换为 Markdown 时向代码块添加正确的语法名称
Add proper syntax name to code blocks when converting from HTML to Markdown with Pandoc
我需要使用 Pandoc 将一些 HTML 转换为 Markdown。除了我文档中的代码块未正确转换外,一切都很好。我需要它们作为具有语法定义的反引号代码块出现在生成的 Markdown 文档中。
例如,如果我有这样的来源HTML:
<pre class="python"><code>
def myfunc(param):
'''Description of myfunc'''
return do_something(param)
</code></pre>
我希望 Pandoc 将其转换为:
```python
def myfunc(param):
'''Description of myfunc'''
return do_something(param)
```
但我得到的是:
``` {.python}
def myfunc(param):
'''Description of myfunc'''
return do_something(param)
```
差不多了,但是语法定义是在花括号里,还有一个点,我的 Markdown 解析器无法识别。 如何在将 HTML 转换为 Markdown 时得到 ```python
而不是 ``` {.python}
?
我可以控制源 HTML,所以我可以按需要更改它。如果有一个选项可以将“原始降价”插入 HTML 中,这将被 Pandoc 忽略,那对我也有用,我可以按照我需要的方式将这些块嵌入到源 HTML 中,但是我需要告诉 Pandoc 不要碰它们。但是我在文档中找不到这样的选项。
此行为受 fenced_code_attributes
扩展控制。默认情况下启用;禁用它会得到你想要的输出:
pandoc --to=markdown-fenced_code_attributes ...
我需要使用 Pandoc 将一些 HTML 转换为 Markdown。除了我文档中的代码块未正确转换外,一切都很好。我需要它们作为具有语法定义的反引号代码块出现在生成的 Markdown 文档中。
例如,如果我有这样的来源HTML:
<pre class="python"><code>
def myfunc(param):
'''Description of myfunc'''
return do_something(param)
</code></pre>
我希望 Pandoc 将其转换为:
```python
def myfunc(param):
'''Description of myfunc'''
return do_something(param)
```
但我得到的是:
``` {.python}
def myfunc(param):
'''Description of myfunc'''
return do_something(param)
```
差不多了,但是语法定义是在花括号里,还有一个点,我的 Markdown 解析器无法识别。 如何在将 HTML 转换为 Markdown 时得到 ```python
而不是 ``` {.python}
?
我可以控制源 HTML,所以我可以按需要更改它。如果有一个选项可以将“原始降价”插入 HTML 中,这将被 Pandoc 忽略,那对我也有用,我可以按照我需要的方式将这些块嵌入到源 HTML 中,但是我需要告诉 Pandoc 不要碰它们。但是我在文档中找不到这样的选项。
此行为受 fenced_code_attributes
扩展控制。默认情况下启用;禁用它会得到你想要的输出:
pandoc --to=markdown-fenced_code_attributes ...