Aperçu Markdown

Voyez votre Markdown rendu au fil de la frappe, dans votre navigateur, avec tout HTML brut échappé plutôt qu'exécuté.

Fonctionne entièrement dans votre navigateur. Rien n'est envoyé, journalisé ni conservé.

Aperçu

Le HTML produit

Écrivez du Markdown à gauche et lisez-le à droite. Tout se passe dans votre navigateur : un brouillon que vous n'êtes pas prêt à montrer à qui que ce soit n'a pas besoin d'être montré d'abord à un serveur.

Comment ça marche

Le document est lu ligne à ligne en blocs — titres, paragraphes, listes, citations, code, tableaux — puis le texte de chaque bloc est lu pour ses éléments en ligne : emphase, code, liens et images. Tout ce que le moteur ne reconnaît pas reste du texte.

Le HTML brut est échappé plutôt que transmis. Si vous écrivez une balise, vous voyez la balise. C'est un écart délibéré par rapport à la plupart des moteurs, qui en autorisent un sous-ensemble choisi — et la raison est que choisir ce sous-ensemble correctement est un travail qui a mal tourné, à plusieurs reprises, pour des projets bien plus dotés.

Un lien n'est créé que si son adresse commence par un schéma figurant sur une courte liste, vérifié sur la forme décodée de l'adresse et non sur ce qui a été tapé. Lorsqu'il est refusé, le texte reste et le lien non : vous voyez donc que quelque chose était là.

Exemples

Cas Saisie Résultat
Emphase et code en ligne **bold**, *italic* and `code`. <p><strong>bold</strong>, <em>italic</em> and <code>code</code>.</p>

Questions fréquentes

Mon document est-il envoyé quelque part ?

Non. Le moteur de rendu est du JavaScript qui s'exécute dans cette page. Rien n'est téléversé, rien n'est journalisé et rien n'est stocké — vous pouvez couper votre connexion réseau, l'outil fonctionne toujours.

Pourquoi mon HTML s'affiche-t-il en texte ?

Parce qu'il est échappé à dessein. Le Markdown autorise un document à contenir du HTML, et laisser passer ce HTML suppose de décider quelles balises et quels attributs sont sûrs — une décision subtile, qui change avec les navigateurs, et que des projets bien dotés ont mal prise plus d'une fois. Tout échapper n'a pas ce mode de défaillance. Le prix à payer est qu'un document qui s'appuie sur du HTML en ligne ne ressemblera pas à ce qu'il donne sur GitHub, et c'est le compromis assumé.

Est-ce exactement CommonMark ?

Non, et le prétendre serait trompeur. C'est un sous-ensemble, plus les tableaux, les listes de tâches et le texte barré de la variante GitHub. Il couvre les titres, les paragraphes, l'emphase, le code en ligne et en blocs, les liens, les images, les listes imbriquées, les citations et les filets. Les liens par référence, les notes de bas de page et les blocs HTML ne sont pas implémentés.

Pourquoi les images distantes n'apparaissent-elles pas ?

Parce que cette page ne s'autorise pas à charger d'images provenant d'autres sites. En récupérer une indiquerait à ce serveur que vous lisez ce document, et à quelle heure — précisément la fuite qu'un aperçu local existe pour éviter. La balise image figure dans le HTML produit : elle fonctionne donc là où vous le collerez, elle ne se déclenche simplement pas d'ici.

Qu'arrive-t-il à un lien du type javascript: ?

Il n'est pas transformé en lien. Le schéma est comparé à une courte liste — http, https, mailto, tel, ftp, ou aucun schéma du tout pour un chemin relatif — et la vérification porte sur l'adresse décodée, parce qu'un navigateur résout les entités d'un attribut avant d'agir. Le texte du lien reste visible pour que vous voyiez ce qui était là.

Bon à savoir

  • Le HTML que montre l'aperçu est le HTML que l'outil vous donne. Il y a une seule sortie, pas une version sûre pour l'affichage et une autre à copier.
  • Les titres ne reçoivent aucun attribut id. Un id tiré de votre document partagerait l'espace de noms de celui de cette page, et une collision casserait la page autour de l'aperçu.
  • Les liens vers d'autres sites portent rel="nofollow noopener noreferrer" : une page ouverte depuis ici n'obtient aucune prise sur celle-ci.

Tous les outils Code