使用Pandoc从HTML转换为Markdown时,为代码块添加正确的语法名称



我需要用Pandoc将一些HTML转换为Markdown。除了文档中的代码块没有正确转换之外,一切都很好。我需要它们在生成的Markdown文档中显示为具有语法定义的backtick代码块。

例如,如果我有这样的源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,所以我可以根据需要对其进行更改。如果存在插入";原始降价";插入到将被Pandoc忽略的HTML中,这对我也适用,我可以按照我需要的方式将这些块嵌入到源HTML中,但我需要告诉Pandoc不要触摸它们。但我在文档中找不到这样的选项。

此行为由fenced_code_attributes扩展控制。默认情况下启用;禁用它将提供您想要的输出:

pandoc --to=markdown-fenced_code_attributes ...

最新更新