Travailler avec Markdown dans Node.js : bibliothèques et outils de conversion

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Travailler avec Markdown dans Node.js : aperçu des bibliothèques et outils

Markdown est un langage de balisage populaire utilisé pour formater du texte dans la documentation, les blogs, les fichiers README et les plateformes éducatives. Dans l'écosystème Node.js, il existe plusieurs bibliothèques puissantes qui permettent de convertir Markdown en HTML, de traiter le code, les tableaux et d'autres éléments. Dans cet article, nous examinerons trois outils les plus populaires : marked, remarkable et showdown, et nous analyserons des exemples de leur utilisation.



1. Bibliothèque marked

Marked est l'une des bibliothèques les plus rapides et les plus légères pour le parsing Markdown. Elle n'a pas de dépendances externes et prend en charge CommonMark et GFM (GitHub Flavored Markdown).



Installation

npm install marked


Utilisation de base

const marked = require('marked');

const markdownString = '# TitreCeci est du texte **gras** et *italique*.

- Élément 1- Élément 2';

const html = marked.parse(markdownString);console.log(html);


Résultat de l'exécution :

<h1 id="titre">Titre</h1><p>Ceci est du texte <strong>gras</strong> et <em>italique</em>.</p><ul><li>Élément 1</li><li>Élément 2</li></ul>


Configuration des options

Marked prend en charge de nombreuses options pour un réglage fin du parsing :

const marked = require('marked');

marked.setOptions({ breaks: true, // sauts de ligne en <br> gfm: true, // prise en charge GFM headerIds: false // désactiver les id des titres});

const html = marked.parse('Ligne 1Ligne 2');console.log(html);// <p>Ligne 1<br>Ligne 2</p>


2. Bibliothèque remarkable

Remarkable est une bibliothèque flexible avec prise en charge des plugins et des extensions. Elle permet d'ajouter la syntaxe pour les formules mathématiques, les diagrammes et d'autres éléments spécifiques.



Installation

npm install remarkable


Exemple d'utilisation

const { Remarkable } = require('remarkable');const md = new Remarkable();

const markdown = '## Sous-titre

`code` et `code en ligne`';const html = md.render(markdown);console.log(html);


Sortie :

<h2>Sous-titre</h2><p><code>code</code> et <code>code en ligne</code></p>


Plugins et extensions

Remarkable prend en charge les plugins pour le traitement des tableaux, des listes de tâches et d'autres éléments :

const { Remarkable } = require('remarkable');const md = new Remarkable({  html: true,  linkify: true});

// Ajout d'un plugin pour les tableauxmd.renderer.rules.table_open = function() { return '<table class="table">';};

const html = md.render('| Colonne 1 | Colonne 2 ||-----------|-----------|| Données 1 | Données 2 |');console.log(html);


3. Bibliothèque showdown

Showdown est un port de l'original Showdown pour JavaScript. Il est simple à utiliser et convient bien aux applications client-serveur.



Installation

npm install showdown


Exemple de code

const showdown = require('showdown');const converter = new showdown.Converter();

const markdown = '**Gras** et *italique*';const html = converter.makeHtml(markdown);console.log(html);// <p><strong>Gras</strong> et <em>italique</em></p>


Configuration des extensions

Showdown prend en charge les extensions qui peuvent être ajoutées pour de nouvelles fonctionnalités :

const showdown = require('showdown');

// Création d'une extension pour la coloration syntaxiqueconst myExt = { type: 'output',

Recommendations