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 markedGrundlegende 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 remarkableAnwendungsbeispiel
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 showdownCodebeispiel
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', Auch in der Bibliothek
Datenbankmigrationen in Swift: Tools und Praktiken für iOS/macOS
Arbeiten mit Markdown in Java: Bibliotheken, Parsing und Konvertierung
GraphQL in Go: Vollständiger Leitfaden zur Bibliothek gqlgen
Caching in Node.js: Redis, Memcached und integrierter Speicher
TypeBox für TypeScript: Komplettguide mit Praxisbeispielen