Je pense que toutes les solutions proposées précédemment (à part celles qui nécessitent des implémentations spécifiques) font que les commentaires sont inclus dans le HTML de sortie, même s'ils ne sont pas affichés.
Si vous voulez un commentaire qui vous est strictement réservé (les lecteurs du document converti ne doivent pas pouvoir le voir, même avec "view source"), vous pouvez (ab)utiliser les étiquettes de lien (à utiliser avec les liens de style référence) qui sont disponibles dans la spécification Markdown de base :
http://daringfireball.net/projects/markdown/syntax#link
C'est-à-dire :
[comment]: <> (This is a comment, it will not be included)
[comment]: <> (in the output file unless you use it in)
[comment]: <> (a reference style link.)
Ou vous pouvez aller plus loin :
[//]: <> (This is also a comment.)
Pour améliorer la compatibilité des plates-formes (et pour économiser une frappe), il est également possible d'utiliser la fonction #
(qui est une cible légitime d'hyperlien) au lieu de <>
:
[//]: # (This may be the most platform independent comment)
Pour une portabilité maximale, il est important d'insérer une ligne vierge avant et après ce type de commentaires, car certains analyseurs Markdown ne fonctionnent pas correctement lorsque les définitions côtoient du texte ordinaire. Les recherches les plus récentes menées avec Babelmark montrent que les lignes vides avant et après sont toutes deux importantes. Certains analyseurs génèrent le commentaire s'il n'y a pas de ligne vierge avant, et certains analyseurs excluent la ligne suivante s'il n'y a pas de ligne vierge après.
En général, cette approche devrait fonctionner avec la plupart des analyseurs Markdown, puisqu'elle fait partie de la spécification de base. (même si le comportement lorsque plusieurs liens sont définis, ou lorsqu'un lien est défini mais jamais utilisé, n'est pas strictement spécifié).
11 votes
En lisant entre les lignes, il semble que vous vouliez attacher des métadonnées à votre Markdown. Pour cette raison, je vous suggère d'utiliser un préprocesseur qui vous permet d'ajouter un en-tête. Pour un exemple, voir La première page de Jekyll . Pour un autre exemple, voyez comment Basho utilise Middleman pour sa documentation . (Note : Ce n'est pas une réponse directe à la question, c'est pourquoi je la partage en tant que commentaire).
2 votes
Voir aussi comment MultiMarkdown prend en charge les métadonnées .
3 votes
Voici un benchmark de différents types de commentaires avec différents analyseurs syntaxiques. Babelmark .
24 votes
Aucun des réponses de cette page fonctionnent de manière cohérente avec tous les analyseurs syntaxiques. Ce sont celles qui affichent allègrement le contenu de la page
<!-- … -->
qui me laissent vraiment dans l'embarras.