Aller au contenu principal

Markdown Exit brise les règles avec le rendu asynchrone

Cet article est la suite de et se concentre sur un cas d'utilisation plus concret : l'optimisation automatique des images dans les fichiers Markdown.

C'est très technique, et à moins que vous ne traitiez des fichiers Markdown, cela pourrait être un peu abstrait. Néanmoins, je vous encourage vivement à lire l'article précédent et celui-ci, car cela pourrait vous donner de bonnes idées.


Pourquoi écrire un article dédié à ce sujet ? Parce que, jusqu'à présent, ce n'était pas possible. Le principal parseur Markdown dans le monde JavaScript est markdown-it, et il est entièrement synchrone.

Cela pourrait ne pas être un problème, mais cela signifie que toutes les règles doivent être synchrones également. Vous ne pouvez pas avoir de règles asynchrones. Vous ne pouvez pas effectuer de fetch dans une règle, et vous ne pouvez rien paralléliser.

Un petit récapitulatif est nécessaire pour s'assurer que nous sommes tous sur la même longueur d'onde.

Écrire un Parseur Markdown

Je n'entrerai pas dans les détails, mais essentiellement, le parseur va diviser le texte Markdown en tokens puis appliquer des règles, qui sont essentiellement des fonctions, à ces tokens pour générer le HTML.

Par exemple, le texte suivant **bold text** sera tokenisé en : ['strong_open', 'text', 'strong_close'] et les règles correspondantes généreront le HTML : <strong>bold text</strong>. Le token strong_open sera traité par la règle strong_open, qui retourne <strong>, et ainsi de suite.

Photo de profil d’Estéban

Merci de me lire ! Je m’appelle Estéban, et j’adore écrire sur le développement web et le parcours humain qui l’entoure.

Je code depuis plusieurs années et j’apprends encore de nouvelles choses chaque jour. Je partage ce que j’apprends, car j’aurais aimé disposer de ressources claires et complètes lorsque j’ai commencé la programmation.

Si vous avez une question ou souhaitez discuter, laissez un commentaire ci-dessous ou contactez-moi sur mes profils sociaux.

J’espère que cet article vous a appris quelque chose d’utile. Partagez-le, laissez un commentaire ou ajoutez une réaction si c’est le cas. Soutenir mon travail sur GitHub.

Suivez-moi

Estéban Soubiran

Ingénieur logiciel, conférencier et passionné d'open source.

Qu’en pensez-vous ?

Discussions

Chargement des discussions...

Ajouter un commentaire

Vérification de votre session...