在下面的markdown代码中,我想item 3
从列表编号3开始。但是由于markdown之间的代码块,此列表项将作为新列表启动。有什么办法可以防止这种行为?
所需的输出:
1. item 1
2. item 2
```
Code block
```
3. item 3
产生的输出:
- 项目1
- 项目2
Code block
- 项目3
29. this is list item number 29
。不过,这可能不适用于所有降价解析器。
在下面的markdown代码中,我想item 3
从列表编号3开始。但是由于markdown之间的代码块,此列表项将作为新列表启动。有什么办法可以防止这种行为?
所需的输出:
1. item 1
2. item 2
```
Code block
```
3. item 3
产生的输出:
Code block
29. this is list item number 29
。不过,这可能不适用于所有降价解析器。
Answers:
使用四个空格在项目符号点之间缩进内容
1. item 1
2. item 2
```
Code block
```
3. item 3
产生:
项目2
Code block
请注意,在Macmade的解决方案中,如何在“代码块”上方看到一行额外的代码。
这是两个更好的解决方案:
将代码块缩进额外的4个空格(在此嵌套列表示例中,通常为8个空格)。这会将代码放入一个<pre>
元素中。在SO上,您甚至可以指定语法高亮显示,
<!-- language: lang-js -->
缩进4个空格(由于嵌套列表,此处为+1)。
项目2
Code.block('JavaScript', maybe)?
项目3
或者,只需将Code块放在反引号内,并缩进4个空格(此处是1个,这是因为嵌套列表)。您将获得一个常规的缩进文本段落,其中包含一个<code>
元素。您不能在语法上突出显示以下内容:
项目2
Code block
项目3
注意:您可以在此答案上单击“编辑”以查看基础的Markdown代码。无需保存;)
作为现有答案的扩展。对于那些试图在除代码块以外的内容之后继续编号列表的人。例如第二段。只需将第二段缩进至少1个空格。
降价:
1. one
2. two
three
3. four
输出:
二
三
Macmade的解决方案在我在Github Pages上的Jekyll实例上不再适用于我,但是我在kramdown github存储库的一个问题上找到了该解决方案。对于OP的示例,它看起来像这样:
1. item 1
2. item 2
```
Code block
```
{:start="3"}
3. item 3
轻松解决了我的问题。
如果您不希望缩进列表项之间的行,如用户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).
(@)
对应于一个全球性的持续列表(所以只能有一个使用。pandoc
的startnum
扩展,你可以开始你想要的号码排序列表,它就可以工作。
将列表编号放在括号中,而不要使用句号。
(1)项目1
(2)项目2
code block
(3)项目3
<ol>
和<li>
元素,而是将它们包装在<p>
标签中。此外,您实际上会得到(1)
。
我在Github上解决了这个问题,用换行符分隔缩进的子块,例如,您编写了项1,然后按Enter键两次(例如,如果它是一个新段落),使该块缩进并编写您想要的内容(一个块代码,文本等)。有关Markdown列表和Markdown换行符的更多信息。
第二项
this block acts as a new paragraph, above there is a blank line
第三项
some other code
请注意,还有许多扩展可以针对Markdown使用的特定上下文解决此问题。
例如,python-markdown的sane_lists扩展名(例如,在mkdocs中使用)将识别Markdown列表中使用的数字。您只需要启用此扩展arkdown.markdown(some_text, extensions=['sane_lists'])
<code>
HTML元素,其中包含换行符,这不是语法突出显示的,并且上面有一个额外的空白行,以代码形式突出显示。