Pour afficher plusieurs lignes dans une cellule de tableau Markdown, gardez la ligne sur une seule ligne dans le code source et insérez <br> entre les expressions. Cela fonctionne lorsque les tableaux et le HTML en ligne sont pris en charge ; vérifiez Obsidian et le moteur de rendu de destination avant de vous y fier.

Ce guide porte sur une tâche pratique sur Mac : rédiger un petit tableau dans Obsidian, vérifier son apparence et préparer le même Markdown pour GitHub ou un autre moteur de rendu. Les exemples utilisent des descriptions fictives de fournitures de papeterie. Les vérifications de compatibilité ci-dessous constituent une procédure fondée sur la documentation, et non des résultats de tests d’applications installées.

Quels moteurs de rendu Markdown prennent en charge les cellules de tableau multilignes ?

Les tableaux à barres verticales sont une extension, et ne font pas partie de CommonMark de base. GitHub Flavored Markdown, ou GFM, ajoute des tableaux dont les cellules acceptent du contenu en ligne. Sa spécification exclut les éléments de bloc dans ces cellules. Par conséquent, une cellule contenant plusieurs lignes affichées diffère d’une cellule contenant plusieurs paragraphes, une liste Markdown ou un bloc de code délimité. Voir la spécification des tableaux GFM.

Obsidian documente les tableaux à barres verticales et la mise en forme à l’intérieur des cellules. Sa documentation sur la syntaxe de base indique également que <br> est une balise de saut de ligne. Ces éléments justifient l’approche utilisée ici, même si la page consacrée aux tableaux ne propose pas d’exemple dédié aux cellules multilignes. Voir Syntaxe de mise en forme avancée et Syntaxe de mise en forme de base.

Consultez ce tableau de décision avant de modifier un document volumineux :

Destination Limite documentée Choix pratique
CommonMark de base sans extensions Les tableaux à barres verticales ne font pas partie de la syntaxe de base Utilisez des titres et des listes
Moteur de rendu compatible avec GFM Les tableaux acceptent du contenu en ligne, sans éléments de bloc dans les cellules Essayez un saut de ligne en ligne et vérifiez le résultat dans la destination
Obsidian Les tableaux et la balise de saut de ligne sont documentés Modifiez le code source, puis inspectez la vue Lecture
Moteur de rendu dont la gestion du HTML est inconnue Sa prise en charge n’a pas été établie Effectuez la petite comparaison ci-dessous avant de choisir un format

Les trois premières lignes s’appuient sur la spécification CommonMark, la spécification GFM et la documentation Obsidian liée ci-dessus. La dernière ligne recommande une étape de vérification : le nom d’un moteur de rendu ne suffit pas à déterminer comment il traitera votre document.

Comment écrire deux lignes dans une même cellule ?

Copiez l’exemple suivant dans une note sans copier les balises de bloc de code qui l’entourent. Chaque ligne du tableau occupe une seule ligne physique dans le code source ; la balise de saut de ligne se trouve entre les deux expressions de la deuxième cellule.

| Item | Details |
| --- | --- |
| Notebook | Dotted pages<br>Blue cover |
| Pencil | Graphite core<br>Hexagonal shape |

Le résultat attendu est un tableau à deux colonnes et deux lignes de données. Dans la première cellule de détails, « Pages pointillées » apparaît au-dessus de « Couverture bleue ». Dans la seconde, « Mine en graphite » apparaît au-dessus de « Forme hexagonale ». Il s’agit du rendu attendu à vérifier, et non d’une démonstration intégrée du comportement de votre destination.

Le mécanisme combine un saut de ligne HTML en ligne avec la syntaxe des tableaux. GitHub documente une balise HTML de saut de ligne parmi les méthodes prises en charge pour créer des sauts de ligne, tandis qu’Obsidian documente explicitement <br>. Ces cellules Markdown assistées par HTML ne sont donc portables que si la destination accepte ce balisage. Voir la documentation GitHub sur les sauts de ligne et la documentation Obsidian sur la syntaxe de base.

Gardez la structure du tableau simple : laissez une ligne vide avant celui-ci, faites correspondre les colonnes de l’en-tête et du séparateur, et utilisez trois traits d’union par cellule de séparation. Le guide GitHub sur les tableaux documente la ligne vide et la convention des trois traits d’union. Obsidian accepte au moins deux traits d’union ; trois constituent donc un choix pratique commun. Sources : Organiser les informations avec des tableaux et Syntaxe de mise en forme avancée.

Pourquoi Entrée, deux espaces ou une barre oblique inverse ne conviennent-ils pas ?

CommonMark prend en charge les sauts de ligne forcés à l’aide de deux espaces en fin de ligne ou d’une barre oblique inverse avant un saut de ligne dans le code source. Ces règles concernent le contenu en ligne à l’intérieur d’un bloc existant ; elles ne définissent pas les cellules multilignes des tableaux à barres verticales. Voir les sauts de ligne forcés dans CommonMark.

Par exemple, cette méthode ne convient volontairement pas pour garder les deux expressions dans une seule cellule GFM :

| Item | Details |
| --- | --- |
| Notebook | Dotted pages
Blue cover |

Selon les règles des tableaux GFM, la deuxième ligne du code source constitue une nouvelle ligne du tableau, et non une continuation de la cellule de détails. Une ligne vide mettrait fin au tableau. Gardez la ligne complète sur une seule ligne et placez le saut de ligne en ligne à l’endroit où le texte affiché doit passer à la ligne suivante. Voir les exemples de tableaux GFM.

Distinguez également le retour automatique à la ligne d’un saut intentionnel. Pour cette tâche, la réussite signifie que la deuxième expression commence sur une nouvelle ligne même si la fenêtre est assez large pour afficher les deux expressions sur une seule ligne. Une capture d’écran prise dans une fenêtre étroite ne suffirait pas à le démontrer.

Comment vérifier le tableau dans Obsidian sur Mac ?

Utilisez une note temporaire qui ne contient que le tableau d’exemple. Cela permet de déterminer plus facilement si un problème vient du tableau lui-même ou du contenu qui l’entoure.

  1. Passez la note en Mode source à l’aide du contrôle du mode d’édition dans la barre d’état. Ce mode affiche le Markdown exactement tel qu’il est écrit.
  2. Collez l’exemple et vérifiez que chaque ligne de données reste sur une seule ligne dans le code source.
  3. Appuyez sur Cmd+E pour basculer entre la modification et la Vue Lecture.
  4. Inspectez les deux cellules de détails : chacune doit afficher deux lignes, et aucune expression ne doit avoir été déplacée dans une nouvelle ligne du tableau.
  5. Revenez en mode édition et comparez également le résultat dans Aperçu en direct.

Obsidian documente le Mode source, l’Aperçu en direct et le raccourci Mac dans Vues et mode d’édition. L’Aperçu en direct masque une grande partie de la syntaxe pendant la modification ; la Vue Lecture permet de vérifier séparément la note mise en forme.

Pour afficher les deux vues côte à côte, maintenez Cmd en cliquant sur le sélecteur de vue afin d’ouvrir simultanément les vues édition et lecture. Si ce contrôle est masqué, Obsidian documente l’option Paramètres → Apparence → Afficher la barre de titre des onglets, ainsi qu’un autre contrôle dans la barre d’état, sous Paramètres → Éditeur → Afficher le mode d’édition dans la barre d’état. Voir Vues et mode d’édition.

Le guide d’Obsidian sur la syntaxe de base décrit Maj+Entrée pour les sauts de ligne dans les paragraphes et un paramètre Sauts de ligne stricts. Ces instructions générales sur les paragraphes ne définissent pas de raccourci portable pour les cellules de tableau. Pour cette vérification, inspectez la ligne enregistrée en Mode source et utilisez la balise de saut de ligne explicite, plutôt que de considérer le paramètre comme une solution aux problèmes de compatibilité des tableaux. Voir Syntaxe de mise en forme de base.

Comment diagnostiquer rapidement les différences entre moteurs de rendu ?

Utilisez un contrôle en texte brut à côté de la version multiligne envisagée. Le document de test complet suivant ne modifie que la balise de saut de ligne, ce qui facilite la distinction entre la prise en charge des tableaux et celle du HTML en ligne :

Control:

| Item | Details |
| --- | --- |
| Notebook | Dotted pages; blue cover |

Multiline candidate:

| Item | Details |
| --- | --- |
| Notebook | Dotted pages<br>Blue cover |

Ouvrez le même contenu dans chaque destination prévue. Pour un fichier Markdown sur GitHub, inspectez l’affichage du fichier rendu ; un aperçu dans Obsidian ne confirme que le résultat dans Obsidian. GitHub documente également des différences de comportement des sauts de ligne ordinaires entre les fichiers Markdown et les champs de conversation, ce qui confirme l’intérêt de vérifier la destination réelle. Voir Syntaxe de base pour l’écriture et la mise en forme.

Appuyez-vous sur ces observations pour décider du prochain élément à vérifier :

Observation Vérification suivante
Les deux exemples s’affichent sous forme de texte délimité par des barres verticales Confirmez la prise en charge des tableaux et vérifiez que le contenu n’est pas dans un bloc de code
Le contrôle fonctionne, mais la version candidate affiche la balise Vérifiez si la balise est entre des accents graves ou a été échappée
Le contrôle fonctionne, mais la version candidate perd son saut de ligne Consultez la documentation de la destination sur le HTML en ligne
La version candidate crée une ligne supplémentaire Vérifiez dans le code source la présence d’un véritable saut de ligne dans la ligne visée
Une expression disparaît ou change de colonne Recherchez une barre verticale non échappée dans le contenu de la cellule

Il s’agit de pistes de diagnostic, et non d’explications définitives pour chaque moteur de rendu. Corrigez d’abord le petit exemple, puis réintroduisez le reste du tableau. Pour inclure des barres verticales littérales dans le texte d’une cellule, GitHub indique qu’il faut les échapper avec une barre oblique inverse, comme dans Dotted \| plain. Voir Mettre en forme le contenu d’un tableau.

Que faire si les cellules multilignes ne sont pas prises en charge ?

Si la destination accepte les tableaux mais rejette le HTML en ligne, consacrez une ligne à chaque détail. Répétez le nom de l’élément pour conserver l’association sans avoir besoin d’un saut de ligne dans la cellule :

| Item | Detail |
| --- | --- |
| Notebook | Dotted pages |
| Notebook | Blue cover |

Si la destination ne prend en charge que CommonMark de base, placez les détails sous un titre et dans une liste :

### Notebook

- Dotted pages
- Blue cover

Les titres et les listes font partie de la syntaxe CommonMark. Cette solution de repli permet aussi d’ajouter des détails plus longs sans dépendre d’une extension de tableau.

Pour du code multiligne, placez un bloc de code délimité en dehors du tableau. Envelopper plusieurs lignes de code source dans un seul intervalle de code en ligne ne préserve pas leurs sauts de ligne : CommonMark normalise les fins de ligne dans les intervalles de code en espaces. Voir les intervalles de code.

Choisissez le format selon le contenu à préserver. Pour deux expressions courtes, un saut de ligne en ligne est une solution pratique à vérifier. Pour des paragraphes distincts, des listes substantielles ou du code multiligne, placez les détails en dehors de la cellule. Conservez le petit exemple de compatibilité avec vos notes de travail afin de pouvoir refaire la vérification à chaque changement de destination.

Sources