Markdown:继续编号列表

时间:2013-08-06 19:36:24

标签: markdown

在以下标记代码中,我希望item 3以列表编号3开头。但由于markdown之间的代码块将此列表项作为新列表启动。有没有办法阻止这种行为?

期望的输出:

1. item 1
2. item 2

```
Code block
```

3. item 3

产生输出:

  1. 第1项
  2. 第2项
  3. Code block

    1. 第3项

12 个答案:

答案 0 :(得分:453)

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

1. item 1
2. item 2

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

产地:

  1. 第1项
  2. 第2项

    Code block

  3. 第3项

答案 1 :(得分:33)

请注意,在Macmade的解决方案中,您可以在“代码块”上方看到一行额外的代码。

以下是两个更好的解决方案:

  1. 将代码块缩进4个空格(通常为8,在此嵌套列表示例中为12)。这会将代码放在<pre>元素中。在SO上,您甚至可以使用
    指定syntax highlight <!-- language: lang-js -->缩进4个空格(由于嵌套列表,此处为+1)。

    1. 第1项
    2. 第2项

      Code.block('JavaScript', maybe)?
      
    3. 第3项

  2. 或者,只需将Code块放在反引号中并缩进4个空格(此处,由于嵌套列表,因此会增加1个)。您将获得一个常规的缩进文本段落,其中包含<code>元素。这个你不能语法突出显示:

    1. 第1项
    2. 第2项

      Code block

    3. 第3项

  3. 注意:您可以点击此答案的“编辑”以查看基础Markdown代码。无需保存;)

答案 2 :(得分:28)

作为现有答案的扩展。对于那些试图在代码块以外的东西之后继续编号列表的人。例如第二段。只需将第二段缩进至少1个空格即可。

<强>降价:

1. one
2. two

 three
3. four

<强>输出:

  1. 一个
  2. 2

    3

  3. 4

答案 3 :(得分:13)

如果使用tab缩进代码块,它会将整个块整形为一行。为避免这种情况,您需要使用html有序列表。

  1. 第1项
  2. 第2项
  3. 代码块

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

答案 4 :(得分:9)

Macmade的解决方案不再适用于我在Github Pages上的Jekyll实例上,但我在kramdown github repo的问题上找到this solution。对于OP的例子,它看起来像这样:

GridSpacingItemDecoration

轻松解决我的问题。

答案 5 :(得分:4)

源;

<span>1.</span> item 1<br/>
<span>2.</span> item 2
```
Code block
```
<span>3.</span> item 3


结果

1。第1项 2.第2项 Code block 3.第3项

答案 6 :(得分:1)

将列表编号放在括号中,而不是后跟句点。

(1)项目1 (2)第2项 code block (3)第3项

答案 7 :(得分:1)

如果您不希望缩进列表项之间的行,例如在其评论中提到的用户Mars,则可以使用pandoc的{​​{1}}功能。来自他们的docs

example_lists

答案 8 :(得分:0)

我在Github上解决了这个问题,用新行分隔缩进的子块,例如,你写了第1项,然后按两次输入(就好像它是一个新的段落),缩进块并写下你想要的内容(代码块,文本等)。有关Markdown listsMarkdown line breaks的更多信息。

实施例

  1. 第一项
  2. 第二项

    some other code

  3. 第三项

    NotFoundHttpException in RouteCollection.php line 161:

  4. 第四项

答案 9 :(得分:0)

请注意,还有一些扩展可以针对Markdown使用的特定上下文解决此问题。

例如,python-markdown的 sane_lists 扩展名(例如,在mkdocs中使用),将识别Markdown列表中使用的数字。您只需要启用此扩展名arkdown.markdown(some_text, extensions=['sane_lists'])

答案 10 :(得分:0)

如果您想使文本与上一个列表项对齐,但又避免换行符“大”,请在列表项的末尾使用两个空格,并用一些空格缩进文本。

来源:(点是空格;-)当然)

1.·item1··
····This is some text
2.item2

结果:

  1. item1
    这是一些文字
  2. item2

答案 11 :(得分:0)

如果您恰巧使用Ruby gem redcarpet渲染Markdown,您可能仍然会遇到此问题。

您可以转义编号,而redcarpet会高兴地忽略任何特殊含义:

1\. Some heading

text text
text text

text text

2\. Some other heading

blah blah

more blah blah