web-dev-qa-db-fra.com

Markdown: continuer la liste numérotée

Dans le code de démarquage suivant, je souhaite que item 3 commence par la liste numéro 3. Mais, en raison du bloc de code situé entre les démarques, cet élément de la liste commence par une nouvelle liste. Y a-t-il un moyen d'empêcher ce comportement?

Sortie désirée:

1. item 1
2. item 2

```
Code block
```

3. item 3

Production produite:

  1. objet 1
  2. point 2

Code block

  1. point 3
386
orschiro

Utilisez quatre espaces pour mettre en retrait le contenu entre deux points

1. item 1
2. item 2

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

Produit:

  1. objet 1
  2. point 2

    Code block

  3. point 3
484
Macmade

Remarquez comment dans la solution de Macmade, vous pouvez voir une ligne de code supplémentaire au-dessus du "bloc de code".

Voici deux meilleures solutions:

  1. Indentez le bloc de code de 4 espaces supplémentaires (donc généralement 8, dans cet exemple de liste imbriquée, 12). Cela mettra le code dans un élément <pre>. Sur SO, vous pouvez même spécifier surlignage de la syntaxe avec un
    <!-- language: lang-js --> indenté de 4 espaces (+1 ici en raison de la liste imbriquée).

    1. objet 1
    2. point 2

      Code.block('JavaScript', maybe)?
      
    3. point 3

  2. Ou bien, placez simplement le bloc de code entre guillemets et indentez de 4 espaces (ici, 1 extra en raison de la liste imbriquée). Vous obtiendrez un paragraphe de texte en retrait régulier, avec un élément <code> à l'intérieur. Celui-ci vous ne pouvez pas mettre en évidence de syntaxe:

    1. objet 1
    2. point 2

      Code block

    3. point 3

Remarque: vous pouvez cliquer sur "modifier" sur cette réponse pour voir le code de Markdown sous-jacent. Pas besoin de sauver;)

33
Dan Dascalescu

En tant qu'extension aux réponses existantes. Pour ceux qui essaient de continuer une liste numérotée après autre chose qu'un bloc de code. Par exemple un deuxième paragraphe. Il suffit d’indenter le deuxième paragraphe d’au moins 1 espace.

Markdown:

1. one
2. two

 three
3. four

Sortie:

  1. un
  2. deux

    trois

  3. quatre
30
DavidT

Si vous utilisez tabulation pour indenter le bloc de code, il formera le bloc entier en une seule ligne. Pour éviter cela, vous devez utiliser la liste classée html.

  1. objet 1
  2. point 2

Bloc de code

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

La solution de Macmade ne fonctionne plus pour moi sur mon instance Jekyll sur Github Pages, mais j'ai trouvé cette solution sur un problème concernant le dépôt kramdown github. Pour l'exemple d'OP, cela ressemblerait à ceci:

1. item 1
2. item 2

```
Code block
```

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

Résolu mes problèmes facilement.

10
KhalilRavanna

La source;

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


Résultat;

1. article 1
2. item 2 Code block 3. item 3

3
brillout

Placez les numéros de la liste entre parenthèses au lieu de suivi d'un point.

(1) point 1
(2) élément 2 code block (3) élément 3

1
lomzher

Si vous ne voulez pas que les lignes entre les éléments de la liste soient en retrait, comme l’utilisateur Mars mentionné dans son commentaire, vous pouvez utiliser la fonction pandoc's example_lists. De leurs docs :

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

Explanation of examples.

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

J'ai résolu ce problème sur Github en séparant le sous-bloc en retrait par une nouvelle ligne. Par exemple, vous écrivez l'élément 1, puis appuyez deux fois sur Entrée (comme s'il s'agissait d'un nouveau paragraphe), indentez le bloc et écrivez ce que vous voulez (un bloc). de code, texte, etc). Plus d'informations sur Listes de démarques et sauts de ligne de démarques .

Exemple:

  1. élément un
  2. point deux

    this block acts as a new paragraph, above there is a blank line

  3. point trois

    some other code

  4. point quatre
0
Nestor Marin