Dans le code de démarque suivant, je veux item 3
commencer par le numéro de liste 3. Mais à cause du bloc de code entre les démarques, cet élément de liste commence comme 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:
- objet 1
- point 2
Code block
- point 3
<code>
élément HTML avec des retours à la ligne, qui n'est pas surlignable sur le plan de la syntaxe, et comporte une ligne vierge supplémentaire au-dessus visible en surbrillance sous forme de code.29. this is list item number 29
. Cela peut ne pas fonctionner dans tous les analyseurs de démarques.Réponses:
Utilisez quatre espaces pour indenter le contenu entre les puces
Produit:
point 2
Code block
la source
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:
Mettez en retrait 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
<pre>
élément. Sur SO, vous pouvez même spécifier la coloration syntaxique avec un<!-- language: lang-js -->
retrait de 4 espaces (+1 ici en raison de la liste imbriquée).point 2
point 3
Ou, placez simplement le bloc Code dans les backticks et indentez de 4 espaces (ici, 1 supplémentaire à cause de la liste imbriquée). Vous obtiendrez un paragraphe de texte régulier en retrait, avec un
<code>
élément à l'intérieur. Celui-ci vous ne pouvez pas mettre en évidence la syntaxe:point 2
Code block
point 3
Remarque: vous pouvez cliquer sur "modifier" sur cette réponse pour voir le code Markdown sous-jacent. Pas besoin d'enregistrer;)
la source
Comme 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.
Réduction:
Production:
deux
Trois
la source
Si vous utilisez tab pour indenter le bloc de code, il formera le bloc entier en une seule ligne. Pour éviter cela, vous devez utiliser la liste ordonnée html.
Bloc de code
la source
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 pour le dépôt github de kramdown. Pour l'exemple d'OP, cela ressemblerait à ceci:
Résolu mes problèmes facilement.
la source
La source;
Résultat;
1. élément 1
2. élément 2
Code block
3. élément 3la source
Si vous ne voulez pas que les lignes entre les éléments de la liste soient indentées, comme l'utilisateur Mars mentionné dans son commentaire, vous pouvez utiliser
pandoc
laexample_lists
fonctionnalité de. De leurs documents :la source
(@)
correspond à une liste continue globale (donc il ne peut y en avoir qu'un. En utilisantpandoc
l'startnum
extension de, vous pouvez démarrer une liste ordonnée avec le numéro que vous voulez et cela fonctionne.Mettez les numéros de liste entre parenthèses au lieu d'être suivis d'un point.
(1) point 1
(2) point 2
code block
(3) point 3la source
<ol>
et<li>
elems et au lieu que les enveloppe dans les<p>
tags. De plus, vous obtenez littéralement(1)
.J'ai résolu ce problème sur Github en séparant le sous-bloc en retrait avec 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 les listes Markdown et les sauts de ligne Markdown .
Exemple:
point deux
this block acts as a new paragraph, above there is a blank line
point trois
some other code
la source
Notez qu'il existe également un certain nombre d'extensions disponibles qui corrigeront ce comportement pour des contextes spécifiques d'utilisation de Markdown.
Par exemple, l' extension sane_lists de python-markdown (utilisée dans mkdocs, par exemple), reconnaîtra les nombres utilisés dans les listes Markdown. Vous avez juste besoin d'activer cette extension
arkdown.markdown(some_text, extensions=['sane_lists'])
la source
Si vous voulez que le texte soit aligné sur l'élément de liste précédent mais évitez d'avoir un "gros" saut de ligne, utilisez deux espaces à la fin d'un élément de liste et indentez le texte avec quelques espaces.
Source: (les points sont des espaces ;-) bien sûr)
Résultat:
Ceci est du texte
la source