484 votes

Comment mettre en retrait quelques lignes dans un balisage Markdown ?

Je veux écrire quelques lignes de texte. Elles doivent être formatées normalement, sauf que chaque ligne doit commencer à la 6e colonne. Je ne veux pas que la règle de formatage du bloc de code fasse ressembler ce morceau de texte à du code, car j'utiliserai d'autres formatages comme le gras, etc. Comment faire cela dans le format Markdown ?

32 votes

C'est une honte que Markdown ne supporte pas cela. C'est une fonctionnalité fondamentale qui manque.

7 votes

Qu'en est-il : ?

7 votes

L'utilisation de : pour les listes de définitions n'est pas universelle dans les implémentations Markdown, mais si votre variante Markdown le supporte, cela fonctionne parfaitement. Vous devriez en faire une vraie réponse.

11voto

JohnLBevan Points 4174

Comme l'a souligné @AlexDupuy dans les commentaires, les listes de définitions peuvent être utilisées pour cela.

Ce n'est pas pris en charge par tous les processeurs markdown, mais il est largement disponible : Guide Markdown - Listes de définitions

Term 1
: definition 1
: definition 2

Term 2
: definition 1
: definition 2

Rendu en (html) :

<dl>
    <dt>Term 1</dt>
    <dd>definition 1</dd>
    <dd>definition 2</dd>
    <dt>Term 2</dt>
    <dd>definition 1</dd>
    <dd>definition 2</dd>
</dl>

En général, le DT est rendu dans un format semblable à celui d'un en-tête, et chaque DD est rendu sous forme de texte indenté en dessous de celui-ci.

Si vous ne voulez pas de titre/terme, utilisez simplement un espace insécable à la place du terme de définition :

&nbsp;
: This is the text that I want indented.  All text on the same line as the preceding colon will be included in this definition.
: If you include a second definition you'll get a new line; potentially separated by a space. <br />Some inline HTML may be supported within this too, allowing you to create new lines without spaces.
: Support for other markdown syntax varies; e.g. we can add a bullet list, but each one's wrapped in a separate definition term, so the spacing may be out.
: - item 1
: - item 2
: - item 3

Vous pouvez le voir en action en copiant-collant les exemples ci-dessus sur ce site : Éditeur Markdown Stack Edit

Screenshot of DL rendering in Stack Edit

11voto

Jinlye Points 316

L'un des problèmes que pose le fait de commencer une ligne par des espaces insécables est que, si votre ligne est suffisamment longue pour s'enrouler, lorsqu'elle déborde sur une deuxième ligne, le premier caractère de la ligne qui déborde commence à gauche au lieu de commencer sous le premier caractère de la ligne qui la précède.

Si votre système vous permet de mélanger du HTML avec votre markdown, un moyen simple et efficace d'obtenir une indentation est le suivant :

<ul>
My indented text goes here, and it can be long and wrap if you like.
And you can have multiple lines if you want.
</ul>

Sémantiquement, dans votre HTML, cela n'a pas de sens (une section UL sans aucun élément LI), mais tous les navigateurs que j'ai utilisés indentent allègrement ce qui se trouve entre ces balises.

4voto

webwurst Points 1125

Vérifiez si vous pouvez utiliser du HTML avec votre markdown. Peut-être cela vous conviendra-t-il :

  • Première entrée de la liste <br/>
    Ligne en retrait <br/>
    <br/>
    Et d'autres encore
  • Deuxième entrée
    • Sous-entrée <br/>
      Bonjour à tous !

7 votes

Pour ce faire, il suffit de terminer la ligne par deux espaces.

4voto

geotheory Points 1724

Pour les paragraphes cités/indentés, cette astuce pourrait fonctionner (en fonction du moteur de rendu) :

| | | |
|-|-|-|
|  | _"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."_ | |
|

qui se traduit par :

enter image description here

3voto

c z Points 1188

Utilisez directement un espace sans coupure (pas la même chose que !).

(Vous pourriez insérer du HTML ou un code markdown ésotérique, mais je trouve de meilleures raisons de rompre la compatibilité avec le markdown standard).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X