编号列表中的代码块弄乱了编号 python-markdown/mkdocs

Code block in a numbered list messes up numbering python-markdown/mkdocs

我正在为我在 mkdocs 中的一个项目创建一个说明列表,我相信它使用 python-markdown 作为其降价引擎。但是,当我尝试在列表中的数字之间放置一个围栏代码块时,它会导致编号错误。

一个让我失望的例子(我也尝试在每个反引号栅栏和实际单词之间放置换行符,但它仍然弄乱了编号):


1. Click this
```
some code
```
2. Click that

呈现如下内容:


1. Click this

some code

1. Click that

然后当我尝试缩进它时它只会弄乱渲染:


1. Click this
    ```
    some code
    ```
2. Click that


1. Click this ``` some code ```
2. Click that

是的,制表符有效,但如果我想用 ```language。有没有一种方法既可以保留围栏代码块,又可以保留列表编号。

Pyhton-Markdown 的 documentation 具体说明(在红色警告框中):

Warning: Fenced Code Blocks are only supported at the document root level. Therefore, they cannot be nested inside lists or blockquotes.

因此,您必须使用缩进代码块。当然,要将其保留为代码块并嵌套,您需要将其缩进两次:

1. Click this

        some code

2. Click that

如果您想为您的代码块定义一种语言,您将需要在您的 mkdocs.yml 配置文件中启用 CodeHilite extension using the markdown_extensions 配置选项:

markdown_extensions:
    codehilite:
        use_pygments: False

通过将use_pygments选项设置为False,CodeHilite将输出与围栏代码块相同的HTML,然后由MkDocs主题提供的JS库高亮显示。

那么你需要使用CodeHilite的语法来定义语言:

1. Click this

        :::language    
        some code

2. Click that