0

我正在尝试在自定义主题中添加一些 html 元素(如 div),这些元素将 mkdocs 从 html 输出中生成的代码块包装起来。

mkdocs 的代码块带有三个反引号 ``` stuff ```,当它生成 html 输出时,它会创建<pre><code (some stuff here)> stuff </pre></code>. 我想知道是否有一种自定义主题的方法可以保留带有highlight.jsclass 属性的 pre 和 code 标记输出,但也允许我将其包装在自定义中div,以便我可以将代码块与其他一些元素一起放入容器中。

4

1 回答 1

0

代码块由 Markdown 解析器生成,而不是由 MkDocs 模板生成。实际上,从 Markdown 为页面生成的 HTML 作为单个块传递给模板。因此,要通过 Markdown 更改 HTML 输出,您需要使用 Markdown 扩展。MkDocs 使用Python-Markdown并完全支持Python-Markdown扩展

如果存在,您可以使用现有的第三方扩展来提供所需的行为。或者,您可以创建自己的自定义扩展。

于 2019-07-20T00:42:07.823 回答