web-dev-qa-db-fra.com

Comment forcer un saut de ligne?

J'ai remarqué que si je commence un nouveau paragraphe juste après une image, la plupart des rendus laissent un espace insuffisant entre l'image et le texte ci-dessous. Le paragraphe finit par ressembler à une légende. Bien que cela soit utile lorsque je souhaite avoir une légende, j'aimerais parfois simplement insérer une image entre deux paragraphes et la faire espacer de manière adéquate ci-dessous comme ci-dessus.

Je corrige ce problème actuellement avec:

Lorem ipsum dolor sit amet, consectetur adipiscing elit:

[IMAGE]

<br/><br/>

Pellentesque pharetra turpis vitae velit consequat placerat. Duis sed volutpat neque, et scelerisque orci.

Mais cela me semble inélégant: je voudrais éviter le HTML si possible.

Existe-t-il un autre moyen de forcer un saut de ligne?

J'utilise Markdown Preview Plus pour Atom pour le rendu.

28
Superbest

tl; dr

En bref, vous ne pouvez pas avec du Markdown pur. Vous devez utiliser des styles HTML et/ou CSS bruts. Le plus simple est d'insérer <br/><br/> dans votre document.

La longue explication

Les navigateurs déterminent comment afficher les différents éléments HTML d'une page en obtenant des instructions à partir des feuilles de style. Ces feuilles de style peuvent être obtenues à partir de plusieurs sources: (1) les feuilles de style par défaut du navigateur, (2) les feuilles de style définies par l'utilisateur local, (3) les feuilles de style fournies par l'auteur du document, et (4) les styles en ligne intégrés dans le code HTML ( ceci article fascinant, quoique long, décompose tout le processus).

Ce que nous voulons considérer est le premier; les feuilles de style par défaut du navigateur. Ceux-ci indiquent au navigateur les styles par défaut pour les divers éléments, le remplissage d'un paragraphe, la taille des différents en-têtes de niveau, l'indentation et les puces des éléments de liste, etc. En fait, un rapide recherche tourne une multitude de feuilles de style dites "reset" qui annulent tous ces styles par défaut.

C'est ce que vous rencontrez, les styles par défaut n'offrent pas un remplissage suffisant entre l'image et le paragraphe qui la suit. Vous avez quelques options pour résoudre ce problème:

  1. Définissez une feuille de style utilisateur (stockée sur votre ordinateur local) que votre navigateur utiliserait pour modifier/remplacer la feuille de style par défaut. Bien sûr, cela ne vous affecterait que sur cette machine. Toute autre machine utiliserait toujours les styles par défaut.

  2. Définissez une feuille de style pour votre page qui sera attachée à la page via un modèle ou quelque chose. Cependant, si vous publiez vos documents sur un hôte qui ne permet pas un tel contrôle (comme un wiki), cela ne vous aidera pas non plus.

  3. Définissez certains styles en ligne dans le document. Bien sûr, cela signifie que vous devrez définir du code HTML brut pour votre image. Et sur certains services, le HTML brut et/ou le CSS en ligne peuvent être supprimés.

Au final, tout dépend de la manière dont vous comptez utiliser vos documents. Mais cela ne répond pas vraiment à votre question. Comment pouvez-vous accomplir cela dans Markdown? Bref, vous ne pouvez pas.

En tant qu'auteur de Markdown explique (emphase préservée):

La syntaxe de Markdown est destinée à un seul but: être utilisé comme format pour écrire pour le Web.

Markdown n'est pas un remplacement pour HTML, ni même proche de lui. Sa syntaxe est très petite, ne correspondant qu'à un très petit sous-ensemble de balises HTML. L'idée est pas de créer une syntaxe qui facilite l'insertion de balises HTML. À mon avis, les balises HTML sont déjà faciles à insérer. L'idée de Markdown est de faciliter la lecture, l'écriture et l'édition de la prose. HTML est un format de publication ; Markdown est un format d'écriture . Ainsi, la syntaxe de formatage de Markdown ne traite que les problèmes pouvant être transmis en texte brut.

Si vous êtes préoccupé par le remplissage entre les éléments, vous êtes préoccupé par la mise en forme , pas l'écriture , ce qui dépasse la portée prévue de Markdown. Oui, il est possible de revenir au HTML brut (éventuellement avec du CSS intégré intégré) pour forcer la mise en forme souhaitée , mais c'est exactement ainsi qu'il est censé travail. En fait, le paragraphe suivant du document cité ci-dessus dit:

Pour tout balisage qui n'est pas couvert par la syntaxe de Markdown, vous utilisez simplement HTML lui-même. Il n'est pas nécessaire de le faire précéder ou de le délimiter pour indiquer que vous passez de Markdown à HTML; vous utilisez simplement les balises.

Ainsi, la manière appropriée de résoudre votre problème est d'utiliser du HTML brut et/ou du CSS, et non une syntaxe Markdown spéciale.

25
Waylan

Le saut de ligne dans Markdown est "deux espaces ou plus à la fin de la ligne".

31
xof

Réponse courte : deux espaces à la fin de la ligne

Détails :

Je fournis une réponse mise à jour, car la réponse de @ xof, qui était incomplète, était correcte ( selon la documentation ):

Lorsque vous souhaitez insérer une balise <br /> break à l'aide de Markdown, vous terminez une ligne avec deux espaces ou plus, puis tapez return.

Oui, cela prend un peu plus d'efforts pour créer un <br />, mais une règle simpliste "chaque saut de ligne est une <br />" ne fonctionnerait pas pour Markdown. Les éléments de liste de blocs et de sous-paragraphes de style Markdown de Markdown fonctionnent mieux - et ont une meilleure apparence - lorsque vous les formatez avec des pauses.

En outre, cela a l'avantage supplémentaire d'éviter que le document ne devienne inutilement un mélange de démarque et de HTML. Cela conserve la lisibilité, lorsqu'une visionneuse Markdown n'est pas disponible, comme dans une fenêtre de terminal.

Juste une chose: ne faites pas de trim global sur les espaces de fin, comme c'est souvent l'habitude pour le code source, sinon vous perdrez un formatage important.

20
Andre M