繁体   English   中英

使用 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 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM