在下面的降价代码中,我希望项目3从列表3开始。但由于markdown之间的代码块将此列表项作为一个新列表启动。有没有办法防止这种行为?

期望的输出:

1. item 1
2. item 2

```
Code block
```

3. item 3

产生的输出:

第一项 第二项

代码块

项目3


当前回答

在CommonMark Spec中对此有一个规则

1. foo
2. bar
3) baz

生成这个HTML

<ol>
<li>foo</li>
<li>bar</li>
</ol>
<ol start="3">
<li>baz</li>
</ol>

其他回答

在项目符号之间使用四个空格缩进内容

1. item 1
2. item 2

    ```
    Code block
    ```
3. item 3

生产:

第一项 第二项 代码块 项目3

您可以尝试在句点(1\)之前添加反斜杠(\)。Item 1),它禁用列表自动编号。注意:这将消除左侧缩进。

1. 第一项

def call_of_duty()
   return press_f()

3.项目3

print("fus ro dah")

7. 项目7

print("Omae Wa Mou Shindeiru")

10. 10项


链接来源:

3\. Put on shoes
2\. Open door
1\. Step outside

renders

3. Put on shoes
2. Open door
1. Step outside

如果您不希望列表项之间的行缩进,就像用户Mars在评论中提到的那样,您可以使用pandoc的example_lists特性。医生说:

(@)  My first example will be numbered (1).
(@)  My second example will be numbered (2).

Explanation of examples.

(@)  My third example will be numbered (3).

如果使用制表符缩进代码块,它会将整个代码块塑成一行。为了避免这种情况,你需要使用html有序列表。

第一项 第二项

代码块

<ol start="3">
  <li>item 3</li>
  <li>item 4</li>
</ol>

如果你碰巧使用Ruby宝石红地毯来渲染Markdown,你可能仍然有这个问题。

你可以忽略编号,红地毯会很高兴地忽略任何特殊含义:

1\. Some heading

text text
text text

text text

2\. Some other heading

blah blah

more blah blah