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

期望的输出:

1. item 1
2. item 2

```
Code block
```

3. item 3

产生的输出:

第一项 第二项

代码块

项目3


当前回答

我在Github上解决了这个问题,用换行符分隔缩进的子块,例如,你写项目1,然后按enter两次(就像它是一个新的段落),缩进块,写你想要的(代码块,文本等)。关于Markdown列表和Markdown换行符的更多信息。

例子:

项目一个 两个项 这个块作为一个新的段落,上面有一个空行 项目三 其他代码 项目四

其他回答

请注意,还有许多可用的扩展可以修复Markdown使用的特定上下文的这种行为。

例如,python-markdown的sane_lists扩展(例如,在mkdocs中使用)将识别Markdown列表中使用的数字。您只需要启用这个扩展markdown。减记(some_text、扩展= [' sane_lists '])

将列表数字放在括号中,而不是后面跟着句号。

(一)第一项 (二)第二项 代码块 (三)第三项

Macmade的解决方案不再适用于我在Github页面上的Jekyll实例,但我在kramdown Github回购的一个问题上找到了这个解决方案。对于OP的例子,它看起来是这样的:

1. item 1
2. item 2

```
Code block
```

{:start="3"}
3. item 3

轻松解决了我的问题。

我在Github上解决了这个问题,用换行符分隔缩进的子块,例如,你写项目1,然后按enter两次(就像它是一个新的段落),缩进块,写你想要的(代码块,文本等)。关于Markdown列表和Markdown换行符的更多信息。

例子:

项目一个 两个项 这个块作为一个新的段落,上面有一个空行 项目三 其他代码 项目四

在CommonMark Spec中对此有一个规则

1. foo
2. bar
3) baz

生成这个HTML

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