FreeToGenerate.com

100 % gratuit · sans inscription · tout se passe dans votre navigateur

3 × 3

Le remplissage n’affecte que la source que vous copiez : tout moteur produit la même table dans les deux cas. Il sert à rendre le Markdown lisible dans un éditeur de texte.

Une cellule ne peut pas contenir de retour à la ligne : la ligne EST la rangée. Un <br> littéral est le contournement habituel, et il ne s’affiche que là où la cible accepte le HTML brut — d’où l’option plutôt qu’un remplacement silencieux.

| Feature           | CommonMark | GitHub  |
| :---------------- | :--------: | :-----: |
| Headings          | Yes        | Yes     |
| Tables            | No         | Yes     |
| Pipe \| in a cell | n/a        | Escaped |

Les barres verticales présentes dans vos cellules sont échappées automatiquement. Une barre non échappée termine la cellule, et c’est la seule chose qui casse une table sans prévenir.

Les tables ne font pas partie de CommonMark. C’est une extension de GitHub Flavored Markdown : un moteur n’implémentant que la spécification de base affiche ceci comme un paragraphe de barres verticales littérales.

Collez du Markdown ici pour le recharger dans la grille ci-dessus.

Aussi disponible en : English · Español · Português · العربية

Générateur de tableaux Markdown

Remplissez une grille et obtenez du Markdown valide, l’échappement des barres réglé et le fait sur les tableaux qui piège tout le monde clairement énoncé.

Qu’est-ce qu’un générateur de tableaux Markdown ?

Les tableaux Markdown s’écrivent en lignes de texte séparées par des barres verticales, avec une ligne de tirets sous l’en-tête. Les taper à la main va très bien sur trois colonnes et devient pénible sur huit, surtout dès qu’on veut aligner la source pour qu’elle reste lisible dans un éditeur.

Celui-ci vous donne une grille. Vous tapez dans les cellules, ajoutez et retirez lignes et colonnes, réglez l’alignement par colonne, et le Markdown se met à jour au fil de la saisie. Collez un tableau existant dans la zone du bas et il revient dans la grille pour être modifié.

Tout tourne dans votre navigateur. Rien n’est envoyé et il n’y a pas de compte.

Comment utiliser le générateur

  1. Remplissez la grille. Ajoutez ou retirez colonnes et lignes avec les boutons au-dessus. Chaque en-tête de colonne porte quatre boutons d’alignement — par défaut, gauche, centré, droite — qui écrivent pour vous les deux-points dans la ligne de tirets.
  2. Choisissez l’allure de la source. Les barres extérieures et le remplissage des colonnes sont facultatifs et ne changent rien au tableau rendu ; ils n’agissent que sur la lisibilité du Markdown dans un éditeur de texte.
  3. Copiez-le, ou collez-en un. Le bouton de copie emporte le Markdown. La zone du bas fait l’inverse : collez un tableau et il est analysé puis rechargé dans la grille, ou l’outil vous dit pourquoi ce n’en est pas un.

Les tableaux ne font pas partie de Markdown

Voilà ce qu’il faut savoir avant de coller un tableau où que ce soit, et cela se démontre au lieu de s’affirmer. CommonMark — la spécification que la plupart des moteurs Markdown implémentent — ne comporte aucune syntaxe de tableau. Ni version réduite, ni autre syntaxe : aucune.

Ce site publie déjà un moteur CommonMark sur sa page Markdown vers HTML, choisi parce qu’il réussit 649 des 652 cas de test de la spécification. Donnez-lui un tableau parfaitement ordinaire et il produit un paragraphe contenant des barres verticales littérales. Aucun élément de tableau dans la sortie : du point de vue de la spécification, vous avez écrit une phrase avec de la ponctuation.

Les tableaux viennent de GitHub Flavored Markdown, une extension que GitHub a définie et documentée à part. C’est pourquoi le même texte s’affiche en tableau dans un README, dans un ticket GitHub et dans la plupart des outils de documentation, et en file de barres dans un moteur qui n’implémente que la spécification de base. Si un tableau copié quelque part vous est déjà apparu en charabia, c’est la raison, et ce n’est pas une erreur de ce que vous aviez écrit.

Les règles de l’extension sont précises et cet outil les suit. La ligne de tirets est obligatoire : sans elle, pas de tableau. La ligne d’en-tête et celle de tirets doivent compter le même nombre de cellules, et la spécification dit explicitement que dans le cas contraire le tableau n’est tout simplement pas reconnu. Les lignes du corps peuvent varier : moins de cellules que l’en-tête et des cellules vides sont insérées, davantage et l’excédent est ignoré. L’alignement est un deux-points sur les tirets, à gauche, à droite, ou des deux côtés pour centrer. Les barres de début et de fin sont recommandées pour la lisibilité mais non exigées.

Celle qui mord vraiment, c’est la barre verticale. Une barre à l’intérieur d’une cellule termine cette cellule : une ligne comme « Salaire | prime » devient donc deux colonnes sans prévenir et tout ce qui suit se décale. La spécification demande de l’échapper par une barre oblique inverse, et cet outil le fait pour chaque cellule automatiquement. À savoir : les moteurs diffèrent sur le respect de cet échappement — l’analyseur en préréglage CommonMark employé ici coupe malgré tout sur une barre échappée — donc une cellule contenant une barre est ce qui a le plus de chances de casser un tableau que vous n’avez pas écrit vous-même.

Limites assumées

Une cellule ne peut pas contenir de retour à la ligne. La ligne EST la rangée : il n’existe aucune syntaxe pour une seconde ligne dans une cellule, et aucun échappement n’en produit. Le contournement courant est un élément de saut HTML littéral, que cet outil propose en option plutôt que de l’appliquer en silence, car il ne s’affiche que là où la destination accepte le HTML brut — beaucoup de chaînes Markdown le suppriment.

Les cellules n’acceptent que du Markdown en ligne. Gras, italique, code en ligne et liens fonctionnent dans une cellule ; titres, listes, citations et blocs de code non, car ce sont des constructions de bloc et une cellule n’est pas un bloc. Une liste à puces dans une cellule de tableau est une chose que l’on cherche à faire et qui n’a pas d’écriture Markdown.

Le remplissage des colonnes est cosmétique. Aligner la source rend le texte brut lisible et n’a aucun effet sur ce que produit un moteur : si votre tableau est généré ou très large, le désactiver ne vous coûte qu’un diff bien rangé. Cela grossit le fichier, ce qui compte si vous éditez à la main un tableau de cinquante lignes.

L’analyseur applique strictement la règle de reconnaissance de la spécification, ce qui veut dire qu’il refuse des choses qu’un moteur permissif accepterait. C’est délibéré : si la ligne de tirets ne correspond pas à l’en-tête, l’outil vous le dit au lieu de deviner, car un moteur qui devine autrement est précisément d’où viennent les surprises.

Le moteur porte 64 assertions, et la principale est un aller-retour par un vrai moteur de rendu plutôt qu’une table de chaînes attendues : on construit un tableau, on le rend, on vérifie que les cellules qui sortent sont celles qui sont entrées. Cela attrape d’un coup l’échappement, le remplissage et la ligne de tirets. Un sabotage délibéré cessant d’échapper les barres a fait que le tableau construit n’était plus un tableau du tout — l’argument de cette page démontré par sa propre suite de tests.

Pourquoi est-ce gratuit ?

Assembler des chaînes avec des barres verticales n’est pas un travail que quiconque devrait payer, et cela se passe sur votre machine. Rien n’est envoyé, il n’y a pas de compte, et rien à filigraner.

Si vous avez du HTML plutôt qu’une grille, le convertisseur HTML vers Markdown de ce site transforme directement un élément de tableau en cette syntaxe, et la page Markdown vers HTML est le moteur CommonMark décrit plus haut.