105 votes

Comment m'assurer que les espaces blancs sont 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 lettre (00:05:00, Est. 00:03:00)  
      Envoyer 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 lettre (00:05:00, Est. 00:03:00)
Envoyer lettre à Foo Bar
2. Personnel (00:02:00)

Comment puis-je préserver ces espaces ?

128voto

Matt Ball Points 165937

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

56voto

ePi272314 Points 4098

Utilisez des espaces insécables

Pour conserver les espaces dans un document markdown, utilisez un espace insécable :
"un caractère d'espace qui empêche les caractères d'espace blanc consécutifs de se transformer en un seul espace, et empêche également un saut de ligne automatique à sa position".

Exemple

Voir un exemple en ligne et modifiable ici.

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

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

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

Ou essayez un tableau

Cependant, si vous souhaitez utiliser des espaces insécables pour aligner du texte, il est préférable d'utiliser des tableaux.

Exemple de code:

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

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

Comment introduire un espace insécable ?

  • Sous macOS, vous devez appuyer sur ⌥ Opt+Espace
  • Sous Windows, parfois cela fonctionne avec Alt+0+1+6+0 ou Alt+2+5+5
  • Dans de nombreux logiciels commerciaux, utilisez Ctrl+Espace
  • Sous Linux, avec la touche 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, s'il vous plaît, faites-nous savoir dans les commentaires si cette méthode ne fonctionne pas dans votre éditeur 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, en fonction des besoins.

5voto

metablaster Points 1326

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

utilisez plutôt 3 accents (```) pour indiquer le code (en fait, vous ne vous souciez que de l'indentation et de l'espace blanc ici).

par exemple voici à quoi ressemble le texte sans aucun formatage :

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")

EDIT:

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

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

4voto

Mrdev Points 21

Afin de construire des listes ordonnées et des sous-listes, il vous suffit d'espacer toute sous-liste avec 3 espaces blancs, et de supprimer les symboles \ de votre exemple, comme ceci :

1. Travail (00:10:00)  
   1. Envoyer 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 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