105 votes

Comment veiller à ce que les espaces blancs soient préservés en Markdown ?

Actuellement, j'ai cette ligne dans un fichier Markdown détaillant la sortie de la commande :

1\. Travail (00:10:00)  
    1\. Envoyer un courrier (00:05:00, Est. 00:03:00)  
      Envoyer une lettre à Foo Bar  
2\. Personnel (00:02:00)

Cependant, lorsque je prévisualise le fichier Markdown, tous les espaces blancs sont ignorés.

1. Travail (00:10:00)
1. Envoyer un courrier (00:05:00, Est. 00:03:00)
Envoyer une lettre à Foo Bar
2. Personnel (00:02:00)

Comment puis-je préserver cet espace blanc ?

128voto

Matt Ball Points 165937

Markdown est utilisé principalement pour générer du HTML, et le HTML ignore les espaces blancs par défaut. Utilisez au lieu des caractères d'espace.

56voto

ePi272314 Points 4098

Utilisez des espaces insécables

Pour préserver les espaces dans un document markdown, utilisez un espace insécable :
"un caractère espace qui empêche les caractères espaces successifs de se collapser en un seul espace, et empêche également un saut de ligne automatique à sa position".

Exemple

Voyez un exemple en ligne et modifiable ici.

Cette ligne utilise            des espaces insécables            à plusieurs endroits;       ils ne sont pas collapés.
                                   Il n'est pas nécessaire d'utiliser des blocs de code.

Cette ligne utilise de nombreux espaces consécutifs à de nombreux endroits; ils sont tous collapés.

Remarque :
Copier-coller l'exemple précédent pourrait ne pas fonctionner car parfois les espaces insécables sont transformés en espaces normaux lors d'une opération de copie-coller :‑(.

Ou essayez un tableau

Cependant, si vous avez l'intention d'utiliser des espaces insécables pour aligner du texte, préférez utiliser des tableaux.

Code d'exemple :

| Pays     | Capitale |
| -------- | --------|
| Portugal | Lisbonne|
| Espagne  | Madrid  |
| Cuba     | La Havane| 

Mais toutes les implémentations de Markdown ne reconnaissent pas la syntaxe précédente.

Comment introduire un espace insécable?

  • Sur macOS, vous devez appuyer sur ⌥ Opt+Espace
  • Sous Windows, parfois cela fonctionne Alt+0+1+6+0 ou Alt+2+5+5
  • Dans de nombreux logiciels commerciaux Ctrl+Espace
  • Sous Linux, la clé Compose activée Compose Espace Espace

La beauté de cette solution est que vous n'avez pas besoin d'utiliser de code dans votre document Markdown. Par exemple, en HTML vous devez utiliser .

PS :
Lecteur, veuillez nous faire savoir dans les commentaires si cette méthode ne fonctionne pas dans votre éditeur de markdown particulier. J'ai testé cette méthode dans deux applications et plusieurs éditeurs en ligne.

35voto

Eric Chow Points 1

Une alternative est d'utiliser

comme :

    1 
   / \ 
  2   2 
 / \ / \ 
3  4 4  3 

la pyramide sera préservée.

Bien sûr, vous pouvez utiliser . Je les utilise tous les deux, selon les besoins.

5voto

metablaster Points 1326

Je trouve très fastidieux à utiliser, c'est-à-dire que si vous avez un grand document, il peut devenir laid à éditer, et vous aurez besoin de beaucoup de copier-coller de , et à la fin vous devrez également ajuster l'indentation.

au lieu de cela, utilisez 3 accents (```) pour indiquer du code (en fait, vous ne vous souciez que de l'indentation et de l'espacement ici).

par exemple voici à quoi ressemble le texte sans mise en forme:

Enabled = "True"

Profile = ("Domain", "Private")

Direction = "OutBound"

RemotePort = ("8080", "8081")

LocalPort = ("9080", "9081")

Et voici à quoi cela ressemble avec en faisant un copier-coller rapide

Enabled      = "True"

Profile      = ("Domain", "Private")

Direction      = "OutBound"

RemotePort      = ("8080", "8081")

LocalPort      = ("9080", "9081")

Et voici ma solution, très simple, rapide et efficace:

Enabled               = "True"
Profile               = ("Domain", "Private")
Direction             = "OutBound"
RemotePort            = ("8080", "8081")
LocalPort             = ("9080", "9081")

ÉDITER:

Cet exemple final est entouré de 3 accents au début et à la fin, par exemple:

(```)
votre texte ici
(```)

4voto

Mrdev Points 21

Dans le but de construire des listes ordonnées et des sous-listes, vous devez simplement ajouter 3 espaces avant chaque sous-liste et supprimer les symboles \ de votre exemple, comme ceci :

1. Travail (00:10:00)  
   1. Envoyer une lettre (00:05:00, Est. 00:03:00)  
      Envoyer la lettre à Foo Bar  
2. Personnel (00:02:00)

Pour obtenir ceci :

  1. Travail (00:10:00)
    1. Envoyer une lettre (00:05:00, Est. 00:03:00)
      Envoyer la lettre à Foo Bar
  2. Personnel (00:02:00)

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