Guide
Tirets cadratins en Markdown : garder une source ASCII
Gardez une source Markdown prévisible quand un éditeur, une extension ou un générateur transforme des suites ASCII en U+2013 ou U+2014.
Par Kris Vinters · Publié le · 4 min de lecture
Trouvez l'étape qui transforme les tirets
Markdown n'impose pas cette conversion. Un passage typographique séparé peut convertir -- en U+2013 et --- en U+2014. Python-Markdown appelle son extension SmartyPants; d'autres outils proposent des options comparables.
La conversion peut se produire pendant la saisie, au rendu HTML ou dans un filtre ultérieur. Un éditeur modifie la source; un moteur peut garder l'ASCII dans la source et placer Unicode seulement dans la sortie.
Les extensions conscientes de Markdown excluent normalement le code. La correction de l'éditeur et l'ordre du pipeline peuvent toutefois agir avant le parseur. Le front matter est souvent traité à part, mais un formateur global peut le réécrire. Testez votre chaîne réelle.
Écrivez et conservez une source ASCII
Désactivez la ponctuation intelligente dans l'éditeur qui enregistre la source. Si le HTML doit aussi rester ASCII, désactivez la substitution dans l'extension ou le générateur. Recherchez smart punctuation, SmartyPants, smart dashes ou symboles typographiques.
Gardez -- et --- comme suites ASCII si c'est votre convention. Dans le code, le front matter, les exemples shell et les identifiants, utilisez exactement la syntaxe attendue. Examinez séparément le diff source et la sortie construite.
Si un formateur doit rester actif, limitez-le à la prose ou excluez le code, le front matter, les fichiers générés et les données de test. Un contrôle non ASCII doit aussi autoriser les langues et exemples voulus.
Si le texte contient déjà des tirets Unicode, collez seulement la prose dans Ghostchars, ouvrez Avancé et sélectionnez « Ponctuation en texte brut ». Cette option transforme U+2013 et U+2014 en traits ASCII, mais change aussi d'autres signes. Vérifiez les résultats avant de traiter une source complète.
Il s'agit de normaliser des caractères, pas d'attribuer un auteur. Le nettoyeur change la ponctuation choisie. Le rapport de prose fournit des mesures, sans verdict.
Stabilisez le code, le front matter et les diffs
Ajoutez un exemple de régression avec --, ---, du code en ligne, un bloc clôturé et une valeur de front matter. Construisez-le comme en production et comparez source et sortie.
Si la source reste ASCII, le moteur a créé la sortie typographique. Si Unicode est déjà dans le fichier, vérifiez la correction automatique, le formatage à l'enregistrement, les transformations au collage et les formateurs avant commit.
Questions sur les tirets Markdown
Markdown transforme-t-il seul deux ou trois traits ASCII ?
Aucune règle universelle ne l'impose. Une extension, un éditeur, un thème ou un générateur peut ajouter cette conversion. Vérifiez son implémentation et sa configuration.
La ponctuation intelligente change-t-elle les blocs de code ?
Les extensions Markdown les excluent généralement, mais un éditeur ou un formateur global peut agir avant le parseur. Vérifiez votre pipeline avec un exemple construit.
La page publiée peut-elle contenir U+2014 avec une source ASCII ?
Oui. Un moteur peut laisser --- dans la source et produire U+2014 seulement en HTML. Si source et sortie doivent rester ASCII, désactivez aussi ce passage.
Vous trouverez davantage de conseils pratiques dans tous les guides sur les caractères cachés et les limites du nettoyage.