Arbeiten mit Markdown in Node.js: Bibliotheken und Tools zur Konvertierung

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Arbeiten mit Markdown in Node.js: Überblick über Bibliotheken und Tools

Markdown ist eine beliebte Auszeichnungssprache, die zur Textformatierung in Dokumentationen, Blogs, README-Dateien und Bildungsplattformen verwendet wird. Im Node.js-Ökosystem gibt es mehrere leistungsstarke Bibliotheken, die es ermöglichen, Markdown in HTML zu konvertieren, Code, Tabellen und andere Elemente zu verarbeiten. In diesem Artikel betrachten wir die drei gängigsten Tools: marked, remarkable und showdown, und analysieren Beispiele für deren Verwendung.



1. Die Bibliothek marked

Marked ist eine der schnellsten und leichtesten Bibliotheken zum Parsen von Markdown. Sie hat keine externen Abhängigkeiten und unterstützt CommonMark und GFM (GitHub Flavored Markdown).



Installation

npm install marked


Grundlegende Verwendung

const marked = require('marked');

const markdownString = '# ÜberschriftDies ist **fetter** Text und *kursiver* Text.

- Punkt 1- Punkt 2';

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


Ergebnis der Ausführung:

<h1 id="überschrift">Überschrift</h1><p>Dies ist <strong>fetter</strong> Text und <em>kursiver</em> Text.</p><ul><li>Punkt 1</li><li>Punkt 2</li></ul>


Optionen konfigurieren

Marked unterstützt zahlreiche Optionen zur Feinabstimmung des Parsings:

const marked = require('marked');

marked.setOptions({ breaks: true, // Zeilenumbrüche in <br> gfm: true, // GFM-Unterstützung headerIds: false // IDs bei Überschriften deaktivieren});

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


2. Die Bibliothek remarkable

Remarkable ist eine flexible Bibliothek mit Unterstützung für Plugins und Erweiterungen. Sie ermöglicht die Einbindung von Syntax für mathematische Formeln, Diagramme und andere spezifische Elemente.



Installation

npm install remarkable


Anwendungsbeispiel

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

const markdown = '## Unterüberschrift

`code` und `inline code`';const html = md.render(markdown);console.log(html);


Ausgabe:

<h2>Unterüberschrift</h2><p><code>code</code> und <code>inline code</code></p>


Plugins und Erweiterungen

Remarkable unterstützt Plugins zur Verarbeitung von Tabellen, Aufgabenlisten und anderen Elementen:

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

// Plugin für Tabellen hinzufügenmd.renderer.rules.table_open = function() { return '<table class="table">';};

const html = md.render('| Spalte 1 | Spalte 2 ||-----------|-----------|| Daten 1 | Daten 2 |');console.log(html);


3. Die Bibliothek showdown

Showdown ist ein Port des ursprünglichen Showdown für JavaScript. Es ist einfach zu bedienen und eignet sich gut für Client-Server-Anwendungen.



Installation

npm install showdown


Codebeispiel

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

const markdown = '**Fett** und *kursiv*';const html = converter.makeHtml(markdown);console.log(html);// <p><strong>Fett</strong> und <em>kursiv</em></p>


Erweiterungen konfigurieren

Showdown unterstützt Erweiterungen, die zur Ergänzung neuer Funktionen eingebunden werden können:

const showdown = require('showdown');

// Erweiterung für Code-Hervorhebung erstellenconst myExt = { type: 'output',

Empfehlungen